使用COM将数组从C#返回到经典ASP
我正在尝试使用com将数组从c#返回到经典asp,但我仍然有问题: 我在c#中有以下方法: 我的经典ASP:使用COM将数组从C#返回到经典ASP,c#,asp.net,com,asp-classic,C#,Asp.net,Com,Asp Classic,我正在尝试使用com将数组从c#返回到经典asp,但我仍然有问题: 我在c#中有以下方法: 我的经典ASP: dim responseArray1 responseArray1 = RegusSoapComponent.returnStuff() response.write("Type of Array one is " & VarType(responseArray1)) response.write("Type of Array one is " & responseA
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中不支持的自动化类型
无论我做什么,我似乎都无法访问此变量。VBScript喜欢接收包含安全变量数组的变量。因此,需要返回一个对象来包装对象数组。例如:
public object returnStuff() {
return new object[] {'1','2','3'};
}
应该以正确的方式进行编组。有关详细版本,请参阅。尝试返回新对象[3]{'1','2','3'}@Gage:这在运行时不会有任何区别。@SLaks,我认为也不会,但这是我看到的他和他发布的示例之间的唯一区别。@Icode“另一方面,数组函数总是创建VarType 8204(8192加12)的变体数组。”取自本页。因此,您正在创建一个变体数组。返回的数组的长度是多少?如果尝试返回字符串数组会怎么样<代码>返回新对象[]{“1”、“2”、“3”}代码>可能是由于某种原因,
char
type导致了问题。。
public object returnStuff() {
return new object[] {'1','2','3'};
}