使用ASP中的VB ActiveX.dll文件
來源:易賢網(wǎng) 閱讀:733 次 日期:2014-10-11 10:34:11
溫馨提示:易賢網(wǎng)小編為您整理了“使用ASP中的VB ActiveX.dll文件”,方便廣大網(wǎng)友查閱!

沒有人會(huì)在沒有必要的情況下采用更加麻煩的方法來工作,除非是沒有選擇的余地。所以如果我要告訴你有一種簡單的技術(shù)可以使你的ASP開發(fā)更加快速,并且更加高效率,你一定對此特別感興趣。這一方法將從你的ASP頁中的絕大部分business logic轉(zhuǎn)移到一個(gè)Visual Basic ActiveX .dll以達(dá)到提高整個(gè)網(wǎng)頁的性能。

使用ActiveX .dll的原因

在Visual Basic中建立一個(gè).dll文件實(shí)際上是一個(gè)ActiveX對象。這種對象可以采用微軟的組件對象模型(COM)技術(shù)來實(shí)現(xiàn),你也可以使用它們來建立與.dll相關(guān)的類。

開發(fā)人員利用.dll有很多原因,而且每一個(gè)工程也不會(huì)包含所有的優(yōu)點(diǎn)。然而,一旦你采用這種方法,你就發(fā)覺你使用的是ActiveX .dll技術(shù)。現(xiàn)在讓我們看看使用ActiveX .dll技術(shù)的優(yōu)越性。

更好的性能

沒有任何疑問,一個(gè)開發(fā)人員關(guān)注的主要問題是完整的性能。與一個(gè)普通的ASP頁相比,一個(gè)ActiveX .dll運(yùn)行速度更快。讓我們看一看一個(gè)簡單的范例。一個(gè)ASP頁計(jì)算一個(gè)從0到10000000的變量,然后顯示一個(gè)“Done”字符串需要26,087毫秒。然而VB.dll文件只需要100毫秒就可以完成這一過程。所以VB.dll比ASP頁快了260倍。

在這樣的測試中,速度的差別是顯而易見的,因?yàn)锳SP運(yùn)行26秒,.dll只需要運(yùn)行少于1秒。請記住,速度的差別主要是與代碼所要處理的工作量有關(guān),也就是說,代碼執(zhí)行的工作量越大,速度的差別就會(huì)越明顯。如果將以上測試的文件擴(kuò)大一倍,速度差別就會(huì)更明顯。ASP頁需要25,156毫秒,然而.dll只需要70毫秒──后者以359倍的速度運(yùn)行。

.dll相比于ASP頁運(yùn)行更快的原因有兩個(gè):

.dll被編譯。這就意味著文件在機(jī)器語言中運(yùn)行,這就達(dá)到它能夠達(dá)到的速度。ASP頁運(yùn)行的是被一個(gè)腳本引擎處理的代碼,這樣,每一部分必須被編譯然后才被處理。

.dll使用的是一個(gè)被聲明為長整型數(shù)據(jù)類型的變量,這就不需要32位處理器的解釋。而腳本頁使用的是一個(gè)Variant變量,這一變量類型必須被轉(zhuǎn)換成一個(gè)數(shù)字,然后才能夠在計(jì)算中使用,這樣就不可避免地增加了處理時(shí)間。

變量聲明方法更好

變量聲明的方法可以使運(yùn)行更加迅速,除此之外,還可以更容易地進(jìn)行程序開發(fā),因?yàn)樽兞款愋筒恍枰D(zhuǎn)換。變量可以在最初狀態(tài)下就被聲明,從而避免了編寫額外的轉(zhuǎn)換代碼行。

源代碼被隱藏

一個(gè).dll文件可以使你的源代碼隱藏而防止被一些黑客攻擊。一個(gè)ASP頁將腳本程序以純文本存儲(chǔ)到你的網(wǎng)絡(luò)服務(wù)器。一旦有人獲得你的網(wǎng)絡(luò)站點(diǎn)文件的訪問權(quán),網(wǎng)頁就很容易地被訪問,所以你的源代碼就被公開和受到損害。使用一個(gè)普通的ActiveX .dll文件來處理你站點(diǎn)的business logic,從而可以防止不懷好意的人訪問你的源代碼。

從開發(fā)環(huán)境更加豐富

你還可以使用微軟的腳本編輯器來開發(fā)ASP腳本。雖然這也是比較功能完整的工具,但它只提供了基本的腳本特性。相反,Visual Basic是一個(gè)豐富的開發(fā)環(huán)境??傊@兩種工具沒有可比性──其中一個(gè)是腳本工具,另一個(gè)是功能完全的開發(fā)軟件包。

更高效率的交叉開發(fā)

以VB建立的.dll很容易地適用于其他的開發(fā)環(huán)境,比如微軟的Access。另一方面,當(dāng)與其他環(huán)境進(jìn)行交叉開發(fā)的時(shí)候,開發(fā)人員必須重新建立一個(gè)ASP頁的任務(wù)。

更高效率的ASP頁

一個(gè)包含所有的business logic可以變得很冗長。.dll文件是一種很高效地解決方法,因?yàn)樗乃械倪壿?。這種管理結(jié)果是:更加簡單而又高效的代碼。

一些缺點(diǎn)

對于大部分而言,使用ActiveX .dll的優(yōu)點(diǎn)要?jiǎng)龠^其缺點(diǎn),但你應(yīng)該記住還是存在一些缺點(diǎn)。首先,ActiveX .dll在某些情況下會(huì)導(dǎo)致更多的開發(fā)時(shí)間。例如,在變量計(jì)算中使用.dll文件需要大約兩秒,但ASP頁只需要一秒。然而,這在開始階段還不是很明顯。在最后階段使用的一套組織良好和可重復(fù)使用的ActiveX .dll類可以縮短你的開發(fā)時(shí)間。

第二,典型ASP頁很容易被更改:你只需要添加腳本和保存文件。更新一個(gè)與ASP頁相聯(lián)系的.dll相當(dāng)復(fù)雜,因?yàn)樵诓恢匦聠?dòng)網(wǎng)絡(luò)服務(wù)器的情況下,你不能編譯.dll。然而,作為一個(gè)通用的規(guī)則,你可以簡化地重新啟動(dòng)網(wǎng)絡(luò)服務(wù)器,然后在服務(wù)器再次運(yùn)行的時(shí)候編譯或復(fù)制一個(gè)新的.dll。重新啟動(dòng)服務(wù)器只需要一秒的時(shí)間,所以不會(huì)出現(xiàn)中斷。

第三,在網(wǎng)絡(luò)服務(wù)器中必須建立運(yùn)行時(shí)間。如果你在一個(gè)ASP頁中使用一個(gè)ActiveX .dl,但沒有安裝VB運(yùn)行時(shí)間,你可以很簡單地使用軟件包和開發(fā)向?qū)戆惭b所有的過程。請記住,如果你或者你的用戶要使用到ADO,你必須安裝其他的軟件,比如MDAC。

使用ActiveX .dll的一些技巧

使用ActiveX .dll不是很困難,但一些簡單的技巧會(huì)使你的開發(fā)過程變得順利。首先,不要忘記注冊一個(gè).dll并使用它。為了注冊一個(gè)ActiveX .dll,可以使用Windows API調(diào)用函數(shù):

Public Declare Function .DLLSelfRegister Lib "vb6stkit.dll" (By Val lp.dllName As String) As Integer

改變一個(gè).dll之后,如果你需要添加一個(gè)新的類或者復(fù)制源代碼到另一個(gè)開發(fā)環(huán)境,你必須重新注冊.dll。編譯一個(gè)ActiveX .dll會(huì)分配一個(gè)唯一的標(biāo)識符給文件。如果你復(fù)制源代碼到另一臺(tái)機(jī)器并編譯它,標(biāo)識符就會(huì)改變而映射當(dāng)前的機(jī)器。這樣,每一次你復(fù)制.dll到網(wǎng)絡(luò)服務(wù)器,你必須重新注冊它。

使用.dll文件有時(shí)候需要你人工地需要啟動(dòng)服務(wù)器。人工地重新啟動(dòng)網(wǎng)絡(luò)信息服務(wù)器(IIS)的最簡單方法是通過計(jì)算機(jī)管理(一個(gè)Windows2000 功能)來連接。如果你具有Windows 2000服務(wù)器資源工具箱,你也可以使用service.vbs工具來運(yùn)行這些批文件:

C:

cd

cscriptservice.vbs /X /N W3SVC /S IISmachinename

pause

cscriptservice.vbs /G /N W3SVC /S IISmachinename

當(dāng)調(diào)試.dll時(shí),使用Visual Basic的調(diào)試特性,這些特性包括當(dāng)你載入一個(gè)ASP頁時(shí)允許你查看所有代碼。你可以在Microsoft Knowledge Base欄的Visual Basic的調(diào)試知識中學(xué)到更多的東西。

使用.dll得到更多的好處

一個(gè)普通的ASP頁與一個(gè)與Visual Basic ActiveX .dll有關(guān)的網(wǎng)頁是無法比較的,后者運(yùn)行速度更快,而且開發(fā)效率更高。這就使得它的使用者在開發(fā)過程中變得很順利。你可以為用戶開發(fā)出一個(gè)更優(yōu)秀的產(chǎn)品,每一個(gè)人都能夠從這種管理中得到更多的好處。

更多信息請查看IT技術(shù)專欄

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:使用ASP中的VB ActiveX.dll文件
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)