我知道如何从Classic ASP站点(Server.CreateObject,gacutil和其他所有站点)调用.net代码。我在谈论从VBScript代码调用.net DLL。 (这与ASP.net无关)
我想知道的是,如何将整个Classic ASP会话的内容传递给.net代码。我想我想将Session.Contents
传递给.net代码,但我不知道如何编写一个接受该对象的接口。
如果您还可以告诉我如何传递Request.Form
以及ASPError
个对象的全部内容,那么
奖励积分。
答案 0 :(得分:0)
当您说“从VBScript代码调用.net DLL”时,假设您的意思是Set invokedNetDLL = CreateObject("MyNamespace.MyType")
,我会尝试以下操作:
<%
Dim key
Dim serializedSession
Dim invokedNetDLL
For Each key in Session
serializedSession = key & "=" & Session(key) & "&"
Next
'Trim last &
serializedSession = Left(serializedSession, Len(serializedSession) - 1)
Set invokedNetDLL = CreateObject("MyNamespace.MyType")
invokedNetDLL.MyMethod(serializedSession)
%>
就Request.Form
而言,同样可以应用该方法:
<%
Dim key
Dim serializedSession
Dim serializedRequestForm
Dim invokedNetDLL
For Each key in Request.Form
serializedRequestForm = key & "=" & Request.Form(key) & "&"
Next
'Trim last &
serializedRequestForm = Left(serializedRequestForm, Len(serializedRequestForm) - 1)
For Each key in Session
serializedSession = key & "=" & Session(key) & "&"
Next
'Trim last &
serializedSession = Left(serializedSession, Len(serializedSession) - 1)
Set invokedNetDLL = CreateObject("MyNamespace.MyType")
invokedNetDLL.MyMethod(serializedRequestForm, serializedSession)
%>
我没有测试过这段代码,但这是我开始的地方。