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