ASPはVBによってDLLにコンパイルされ、クラス間呼び出しonstarpageが実行しない解決方法
1882 ワード
aspはvbによりdllにコンパイル、aspはserverを通過する.create(「あなたのプロジェクト.あなたのクラス」)方式で呼び出され、呼び出されるとonstartpageが先に実行されますが、dllのクラスが別のクラスを呼び出す必要がある場合はdim変数as newでクラスを呼び出す必要があります.この場合onstartpageは実行されません.クラスの初期化時に別のプロシージャClassが実行されます.Initialize.
ASP Type Libraryとthe COM+Services Type Libraryを導入する必要があります
私たちのプロジェクトの名前はcomtestで、クラスはhellowoldです.
これならaspページで直接実行できます
別のクラスでも実行できます
テキストリンク:http://blog.csdn.net/vince6799/article/details/7010729
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
テキストリンク:http://blog.csdn.net/vince6799/article/details/7010729