使用ASP中的VB ActiveX.dll檔案

來源:互聯網
上載者:User
active|activex 沒有人會在沒有必要的情況下採用更加麻煩的方法來工作,除非是沒有選擇的餘地。所以如果我要告訴你有一種簡單的技術可以使你的ASP開發更加快速,並且更加高效率,你一定對此特別感興趣。這一方法將從你的ASP頁中的絕大部分business logic轉移到一個Visual Basic ActiveX .dll以達到提高整個網頁的效能。

使用ActiveX .dll的原因

在Visual Basic中建立一個.dll檔案實際上是一個ActiveX對象。這種對象可以採用微軟的元件物件模型(COM)技術來實現,你也可以使用它們來建立與.dll相關的類。

開發人員利用.dll有很多原因,而且每一個工程也不會包含所有的優點。然而,一旦你採用這種方法,你就發覺你使用的是ActiveX .dll技術。現在讓我們看看使用ActiveX .dll技術的優越性。

更好的效能
沒有任何疑問,一個開發人員關注的主要問題是完整的效能。與一個普通的ASP頁相比,一個ActiveX .dll運行速度更快。讓我們看一看一個簡單的範例。一個ASP頁計算一個從0到10000000的變數,然後顯示一個“Done”字串需要26,087毫秒。然而VB.dll檔案只需要100毫秒就可以完成這一過程。所以VB.dll比ASP頁快了260倍。

在這樣的測試中,速度的差別是顯而易見的,因為ASP運行26秒,.dll只需要運行少於1秒。請記住,速度的差別主要是與代碼所要處理的工作量有關,也就是說,代碼執行的工作量越大,速度的差別就會越明顯。如果將以上測試的檔案擴大一倍,速度差別就會更明顯。ASP頁需要25,156毫秒,然而.dll只需要70毫秒──後者以359倍的速度運行。

.dll相比於ASP頁運行更快的原因有兩個:

.dll被編譯。這就意味著檔案在機器語言中運行,這就達到它能夠達到的速度。ASP頁啟動並執行是被一個指令碼引擎處理的代碼,這樣,每一部分必須被編譯然後才被處理。
.dll使用的是一個被聲明為長整數資料型別的變數,這就不需要32位處理器的解釋。而指令碼頁使用的是一個Variant變數,這一變數類型必須被轉換成一個數字,然後才能夠在計算中使用,這樣就不可避免地增加了處理時間。

變數聲明方法更好

變數聲明的方法可以使運行更加迅速,除此之外,還可以更容易地進行程式開發,因為變數類型不需要轉換。變數可以在最初狀態下就被聲明,從而避免了編寫額外的轉碼行。

原始碼被隱藏
一個.dll檔案可以使你的原始碼隱藏而防止被一些駭客攻擊。一個ASP頁將指令碼程式以純文字儲存到你的網路伺服器。一旦有人獲得你的網路站台檔案的訪問權,網頁就很容易地被訪問,所以你的原始碼就被公開和受到損害。使用一個普通的ActiveX .dll檔案來處理你網站的business logic,從而可以防止不懷好意的人訪問你的原始碼。

從開發環境更加豐富
你還可以使用微軟的指令碼編輯器來開發ASP指令碼。雖然這也是比較功能完整的工具,但它只提供了基本的指令碼特性。相反,Visual Basic是一個豐富的開發環境。總之,這兩種工具沒有可比性──其中一個是指令碼工具,另一個是功能完全的開發軟體包。

更高效率的交叉開發
以VB建立的.dll很容易地適用於其他的開發環境,比如微軟的Access。另一方面,當與其他環境進行交叉開發的時候,開發人員必須重建立立一個ASP頁的任務。

更高效率的ASP頁
一個包含所有的business logic可以變得很冗長。.dll檔案是一種很高效地解決方案,因為它包含的所有的邏輯。這種管理結果是:更加簡單而又高效的代碼。

一些缺點
對於大部分而言,使用ActiveX .dll的優點要勝過其缺點,但你應該記住還是存在一些缺點。首先,ActiveX .dll在某些情況下會導致更多的開發時間。例如,在變數計算中使用.dll檔案需要大約兩秒,但ASP頁只需要一秒。然而,這在開始階段還不是很明顯。在最後階段使用的一套組織良好和可重複使用的ActiveX .dll類可以縮短你的開發時間。

第二,典型ASP頁很容易被更改:你只需要添加指令碼和儲存檔案。更新一個與ASP頁相聯絡的.dll相當複雜,因為在不重新啟動網路伺服器的情況下,你不能編譯.dll。然而,作為一個通用的規則,你可以簡化地重新啟動網路伺服器,然後在伺服器再次啟動並執行時候編譯或複製一個新的.dll。重新啟動伺服器只需要一秒的時間,所以不會出現中斷。

第三,在網路伺服器中必須建立已耗用時間。如果你在一個ASP頁中使用一個ActiveX .dl,但沒有安裝VB已耗用時間,你可以很簡單地使用軟體包和開發嚮導來安裝所有的過程。請記住,如果你或者你的使用者要使用到ADO,你必須安裝其他的軟體,比如MDAC。

使用ActiveX .dll的一些技巧

使用ActiveX .dll不是很困難,但一些簡單的技巧會使你的開發過程變得順利。首先,不要忘記註冊一個.dll並使用它。為了註冊一個ActiveX .dll,可以使用Windows API調用函數:

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

改變一個.dll之後,如果你需要添加一個新的類或者複製原始碼到另一個開發環境,你必須重新註冊.dll。編譯一個ActiveX .dll會分配一個唯一的標識符給檔案。如果你複製原始碼到另一台機器並編譯它,標識符就會改變而映射當前的機器。這樣,每一次你複製.dll到網路伺服器,你必須重新註冊它。

使用.dll檔案有時候需要你人工地需要啟動伺服器。人工地重新啟動網路資訊服務器(IIS)的最簡單方法是通過電腦管理(一個Windows2000 功能)來串連。如果你具有Windows 2000伺服器資源工具箱,你也可以使用service.vbs工具來運行這些批檔案:

C:
cd\
cscriptservice.vbs /X /N W3SVC /S IISmachinename
pause
cscriptservice.vbs /G /N W3SVC /S IISmachinename

當調試.dll時,使用Visual Basic的調試特性,這些特性包括當你載入一個ASP頁時允許你查看所有代碼。你可以在Microsoft Knowledge Base欄的Visual Basic的調試知識中學到更多的東西。

使用.dll得到更多的好處
一個普通的ASP頁與一個與Visual Basic ActiveX .dll有關的網頁是無法比較的,後者運行速度更快,而且開發效率更高。這就使得它的使用者在開發過程中變得很順利。你可以為使用者開發出一個更優秀的產品,每一個人都能夠從這種管理中得到更多的好處。


--------------------------------------------------------------------------------

本文作者 Susan Sales Harkins是一個獨立自由的軟體開發顧問,也是有關資料庫開發和網路技術的許多文章的作者。有關她最近的書籍是:SQL: Access to SQL Server (Apress), Mastering Dreamweaver MX Databases (Sybex), 以及Absolute Beginner''s Guide to Microsoft Access 2002 (Que)。Drew Wutka是Marlow Industries公司的Microsoft Access/Visual Basi的網路開發人員。



相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。