用VB做的DLL(ASP)在ASP页面中使用一切功能都实现了,
但在ASP.NET(C#)中调用DLL中方法时,不涉及ASP五大对象的方法都能正常使用,相反如果带有Request等,则报错:未设置对象变量或 With block 变量 。
ASP中用:set clsProject = server.createobject("Test.my")。
C#中用:Test.myClass myDll=new Test.myClass();C#页要显式调用OnStartPage(**)么?具体怎么调用?请指点,谢谢!

解决方案 »

  1.   

    .NET中,为何还要使用 ASP 的服务器端程序?
      

  2.   

    贴出类模块中部分代码:
    Option Explicit
    Private myscriptingcontext As ScriptingContext
    Private myApplication As Application
    Private myResponse As Response
    Private myRequest As Request
    Private myServer As Server
    Private mySession As SessionPublic Sub OnStartPage(ByVal PassedScriptingContext As ScriptingContext)
        Set myscriptingcontext = PassedScriptingContext
        Set myApplication = myscriptingcontext.Application
        Set myResponse = myscriptingcontext.Response
        Set myRequest = myscriptingcontext.Request
        Set myServer = myscriptingcontext.Server
        Set mySession = myscriptingcontext.Session
    End Sub
      

  3.   

    ASP.NET 专家技术讨论群:30417196
      

  4.   

    就应该是没有用 set 对象 或者用 new
      

  5.   

    Set myscriptingcontext = PassedScriptingContext
        Set myApplication = myscriptingcontext.Application
        Set myResponse = myscriptingcontext.Response
        Set myRequest = myscriptingcontext.Request
        Set myServer = myscriptingcontext.Server
        Set mySession = myscriptingcontext.Session
    在这些 定义前面加 new 试试.
      

  6.   

    http://post.10026.com/vb/com/20055245109_3168954.shtml
      

  7.   

    如果如ASP那样用Server.CreateObject,会自动调用OnStartPage过程;
    但用C#的Test.myClass myDll=new Test.myClass(),过程OnStartPage还会被自动调用么?
    会的话就会初始化好对象/变量。
    如果没初始化,OnStartPage(ByVal PassedScriptingContext As ScriptingContext)用C#语法怎么调用?