使用COM将C#中的数组返回到Classic ASP

时间:2011-07-04 16:38:32

标签: c# asp.net com asp-classic

我正在尝试使用com将数组从c#返回到经典的asp。 This post helped me lot,但我仍有问题:

我在c#中有以下方法:

public object[] returnStuff () {
    return new object[] {'1','2','3'};
}

我的经典ASP:

dim responseArray1

responseArray1 = RegusSoapComponent.returnStuff()

response.write("Type of Array one is " & VarType(responseArray1))
response.write("Type of Array one is " & responseArray1(1))

我的输出是:

response is Type of Array one is 8204
  

Microsoft VBScript运行时错误'800a01ca'

     

变量使用VBScript

中不支持的自动化类型

无论我做什么,我似乎都无法访问此变量。

1 个答案:

答案 0 :(得分:5)

VBScript喜欢收到包含变体safearray的变体。因此,您需要返回一个包装对象数组的对象。例如:

public object returnStuff() {
    return new object[] {'1','2','3'};
}

应该以正确的方式进行整理。有关详细版本,请参阅a previous answer