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 Response
Private Request As Request
Private Session As Session
Private Application As Application
Private Server As Server
Private goaler As Scripting.Dictionary
Private conn As Connection
Private Sub Class_Initialize() '类初始化new时执行
Set objContext = GetObjectContext()
Set Response = objContext("Response") ' Obtain ASP Response object
Set Request = objContext("Request") ' Obtain ASP Request object
Set Session = objContext("Session") ' Obtain ASP Session object
Set Application = objContext("Application") ' Obtain ASP Application object
Set Server = objContext("Server") ' Obtain ASP Server object
Set conn = New Connection
End Sub
Private Sub Class_Terminate() '类销毁是执行
'----- Release object variables
Set ObjectContext = Nothing
Set Request = Nothing
Set Response = Nothing
Set Session = Nothing
Set Application = Nothing
Set Server = Nothing
Set conn = Nothing
End Sub
Public Sub SayHello
Response.write("Hello !")
End Sub
这样的的话我们可以直接在asp页面里这样执行
set ts=server.createobject("comtest.text")
ts.SayHello
set ts=nothing
也可以在另一个类中这样执行
dim ts as new test
ts.SayHello