[點(diǎn)晴永久免費(fèi)OA]讓ASP更完美系列——編譯封裝成DLL教程
:讓ASP更完美系列——編譯封裝成DLL教程 讓ASP更完美系列編譯封裝成DLL教程
系列前言: 有人認(rèn)為ASP門(mén)檻低,是低級(jí)語(yǔ)言,但筆者要更正的是,這恰恰是一款好的通用語(yǔ)言所要具備的特征,但正因?yàn)槿腴T(mén)門(mén)檻低,也出現(xiàn)了不少不具備編程素養(yǎng)的初學(xué)者寫(xiě)出了許多不忍直視的程序; 有人認(rèn)為PHP速度快,但真正入門(mén)者都知道ASP+MSSQL速度其實(shí)一點(diǎn)都不輸PHP,原因在于ASP+MSSQL支持過(guò)程存儲(chǔ)(請(qǐng)關(guān)注該系列的文章), 有人認(rèn)為......跳出細(xì)節(jié),橫觀ASP與PHP兩種語(yǔ)言,都屬于同一類(lèi)別同一級(jí)別的語(yǔ)言,只是運(yùn)行平臺(tái)不一樣,因此,只要是ASP做不到的,PHP也肯定做不了的。 對(duì)于同等級(jí)間的對(duì)比,兩者沒(méi)有好壞高低之分,只有素養(yǎng)駕馭能力之別。 但ASP與PHP卻沒(méi)有和.NET有可比性,前者是優(yōu)秀的通用解釋型語(yǔ)言,能幫你處理90%應(yīng)用。后者則是框架類(lèi)專(zhuān)業(yè)編譯型語(yǔ)言,打個(gè)可能不是很恰當(dāng)?shù)谋确剑儡娝拇鷳?zhàn)機(jī)F22與F35的搭配,而F35雖沒(méi)有F22高級(jí),卻是大批量裝備。 因此,對(duì)于不同等級(jí)間的對(duì)比,是沒(méi)有好壞卻有高低之分,此時(shí)工程適用性才是最大考量因素。 筆者認(rèn)為適用性廣恰是ASP最大優(yōu)點(diǎn)之所在,因此相信在諸多領(lǐng)域?qū)⒌玫綇V泛應(yīng)用,經(jīng)過(guò)時(shí)間沉淀,做為猿一族,更應(yīng)客觀公正的看待這門(mén)語(yǔ)言,對(duì)于不足,ASP高手并沒(méi)有回避,而是加以創(chuàng)新改進(jìn),小編將通過(guò)整理,以系列的形式來(lái)與大家分享,時(shí)光不老,ASP還在,讓ASP更完美!
對(duì)ASP熟悉的話,優(yōu)點(diǎn)大家都明白,但缺陷卻是我們要去完善的,比如今天要講的代碼開(kāi)源問(wèn)題,只要開(kāi)源就不能保證代碼的安全性,如果源代碼一旦泄露,后果將不堪設(shè)想。更重要的是影響了其商業(yè)化進(jìn)程,在這里呢,向大家推薦一個(gè)辦法,就是用VB6.0將asp封裝dll文件.dll文件是比較安全的,而且運(yùn)行速度比asp快那么一點(diǎn)。具體步驟如下: 1、新建DLL 打開(kāi)VB6-->文件-->新建工程-->選擇ActiveX DLL-->打開(kāi) 2、將默認(rèn)工程、類(lèi)重命名 工程重命名:工程-->工程1 屬性(此名稱(chēng)對(duì)應(yīng)窗體內(nèi)工程項(xiàng)目名稱(chēng))-->在打開(kāi)對(duì)話框中將工程名稱(chēng)重命名為IsOK(當(dāng)DLL組件在系統(tǒng)中注冊(cè)后,在asp中默認(rèn)的調(diào)用方法是工程名.類(lèi)名)-->確定 類(lèi)重命名在屬性窗口中將名稱(chēng)重命名為demo 2個(gè)修改后如下圖 3、增加到引用asp 點(diǎn)擊工程引用,然后選擇其中的Microsoft Active Server Pages Object Library,還有引用Microsoft VBscript Regular Expressions 5.5(RegExp正則表達(dá)式對(duì)象) 4、編寫(xiě)代碼 01Option Explicit 02Private Context As scriptingContext 03Private Application As Application 04Private Response As Response 05Private Request As Request 06Private Session As Session 07Private Server As Server 08Public Sub OnStartPage(PassedscriptContext As scriptingContext) 09Set Context = PassedscriptContext 10Set Application = Context.Application 11Set Request = Context.Request 12Set Response = Context.Response 13Set Server = Context.Server 14Set Session = Context.Session 15End Sub 16 17Public Sub hello() 18Response.Write "讓ASP更完美系列!" 19End Sub 20 21Public Sub OnEndPage() 22Set Application = Nothing 23Set Request = Nothing 24Set Response = Nothing 25Set Server = Nothing 26Set Session = Nothing 27Set Context = Nothing 28End Sub 5、保存工程文件 6、編譯生成dll 如果沒(méi)有錯(cuò)誤提示的話說(shuō)明編譯成功,如果遇到訪問(wèn)注冊(cè)表錯(cuò)誤,是vb6沒(méi)有管理員權(quán)限運(yùn)行,右鍵使用管理員權(quán)限運(yùn)行vb6就可以了。 7、注冊(cè)dll 在IsOK.dll組件所在目錄創(chuàng)建注冊(cè).bat批處理文件,輸入: 1iisreset/stop 2regsvr32/s IsOK.dll 3iisreset/start 卸載.bat批處理文件,輸入: 1iisreset/stop 2regsvr32 /u /s IsOK.dll 3iisreset/start 雙擊運(yùn)行注冊(cè).bat,成功注冊(cè)會(huì)提示:IsOK.dll 中的 Dll Register Server 成功。 8、asp中調(diào)用dll 新建test.asp文件,輸入代碼: <% Dim IsOK Set IsOK=Server.createObject("IsOK.demo") IsOK.hello() %> 訪問(wèn)test.asp結(jié)果會(huì)輸出: 讓ASP更完美系列! 該文章在 2023/5/6 8:53:03 編輯過(guò) |
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)... |