ASP通过VB编译成DLL,类间调用onstarpage不执行的解决方法

来源:互联网 发布:人工智能板块股票 编辑:程序博客网 时间:2024/05/18 03:13

 asp通过vb被编译成dll,asp通过server.create("你的工程.你的类")方式调用,调用时会先执行onstartpage,但是如果dll的一个类需要调用另外一个类时需要通过 dim 变量 as new 你的类,此时并不会执行onstartpage ,类初始化的时候会执行另外一个过程Class_Initialize。

我们需要引入 ASP Type Library 和 the COM+ Services Type Library

假设我们工程名叫comtest,类叫hellowold

Private objContext As COMSVCSLib.ObjectContext '引入com+库Private Response As ResponsePrivate Request As RequestPrivate Session As SessionPrivate Application As ApplicationPrivate Server As ServerPrivate goaler  As Scripting.DictionaryPrivate conn As ConnectionPrivate Sub Class_Initialize() '类初始化new时执行Set objContext = GetObjectContext()Set Response = objContext("Response") ' Obtain ASP Response objectSet Request = objContext("Request") ' Obtain ASP Request objectSet Session = objContext("Session") ' Obtain ASP Session objectSet Application = objContext("Application") ' Obtain ASP Application objectSet Server = objContext("Server") ' Obtain ASP Server objectSet conn = New ConnectionEnd SubPrivate Sub Class_Terminate() '类销毁是执行'----- Release object variablesSet ObjectContext = NothingSet Request = NothingSet Response = NothingSet Session = NothingSet Application = NothingSet Server = NothingSet conn = NothingEnd SubPublic Sub SayHelloResponse.write("Hello !")End Sub

这样的的话我们可以直接在asp页面里这样执行

 

set ts=server.createobject("comtest.text")ts.SayHelloset ts=nothing


也可以在另一个类中这样执行

dim ts as new testts.SayHello

原创粉丝点击