前幾天大哥對我說,使用asp真麻煩,編譯環境實在是差勁,他總是在vb裡面寫好調試好代碼然後在把代碼粘貼到asp
程序中,為此,我在這提出一個解決之道。使用vb接替asp所有的對象,在vb中編寫純粹的asp程序。
大家應該都知道,其實asp中的好多組件都是使用vb編寫出來的,但是讓大家感到很不方便的是如何使用asp固有的幾
個組件,例如response,request,application,session等等,如果我要是能夠在vb裡面直接使用這些組件的話,那麼就能
夠直接使用vb編寫asp運用程序了。
下面是詳細的步驟:
1。在vb中新建一個activex dll.其中那些命名項目、類的過程我就省略了。
2。現在需要在vb中引用兩個dll.
第一個是引用asp引擎的dll.
從菜單中選擇project/references命令,引用'microsoft active server pages object library'.
如果你沒有找到它的話,你可以在以下目錄中查找這個asp.dll文件%systemdirectory%/system32/inetsvr目錄
單擊按鈕'browse...'可以導入這個動態連接庫
第二個是引用microsoft transaction server (mts)對象.選擇同樣的命令,引用
'microsoft transaction server type library'.
如果你沒有找到它的話,你可以在以下目錄中查找這個mtxas.dll文件
%systemdirectory%/system32/mts/ 3。好了,所有準備工作完成,下面是如何編寫的代碼,我想大家都能夠看明白
的。
這個是類文件的代碼:
option explicit
dim m_objresponse as response
dim m_objrequest as request
dim m_objserver as server
dim m_objapplication as application
dim m_objsession as session
private sub class_initialize()
dim objcontext as objectcontext
set objcontext = getobjectcontext()
set m_objresponse = objcontext(response)
set m_objrequest = objcontext(request)
set m_objserver = objcontext(server)
set m_objapplication = objcontext(application)
set m_objsession = objcontext(session)
end sub
public sub asptest()
m_objresponse.write 告別寫字板,使用vb環境編寫asp程序!
end sub
將以上的代碼拷貝粘貼到你的程序中,然後編譯這個項目成dll。最後使用
regsvr32 componentname.dll把這個dll註冊到iis中。
下面是在asp文件中使用這個組件的方法:
<%
set objtest = server.createobject(yourprjname.asptest)
objtest.asptest
set objtest = nothing
%>
好了,希望我的方法能夠解決大哥的苦惱,呵呵。