从经典ASP创建.NET StreamWriter对象 - 构造函数参数问题

Bri*_*van 1 .net vbscript interop asp-classic

我正在尝试在经典ASP页面(VBScript)中创建和使用.NET StreamWriter对象.通常我会像这样创建对象:

Dim writer
Set writer = Server.CreateObject("System.IO.StreamWriter")
Run Code Online (Sandbox Code Playgroud)

但是,StreamWriter的构造函数将Stream对象作为参数,并且对CreateObject的调用失败.即使我可以在没有错误的情况下执行无参数构造函数,StreamWriter类的BaseStream属性也是只读的,因此在创建对象后我无法将其设置为我的Stream.

有没有办法在以这种方式从VBScript到.NET进行互操作时指定构造函数参数?不,这样做不起作用:

Set writer = Server.CreateObject("System.IO.StreamWriter", stream)
Run Code Online (Sandbox Code Playgroud)

我的另一种方法是使用无参数构造函数创建自己的.NET包装类,并为COM互操作注册该程序集,但如果没有必要,我想避免使用它.

dri*_*iis 5

根据这篇文章文档,它不受支持.您需要在.NET中创建一个包装类,以便使用来自传统ASP的StreamWriter.