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

 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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值