ASP指令碼組件的特點

來源:互聯網
上載者:User
指令碼


    我們應該從正反兩方面考慮在工作中使用ASP指令碼組件的必要性。與編譯的組件比較,ASP指令碼組件有一個明顯的特點:WSC指令檔可在任何時候進行編輯,在下一次執行時,組件中的變化可自動反映出來。不需要重新編譯,不需重新啟動伺服器釋放現有組件的引用,也不需要重新註冊。並且,如果組件工作狀態良好,可選用合適的語言,用已證明可靠的代碼和/或演算法建立一個編譯版本,這同樣適用於任何可轉換組件。
    ASP指令碼組件可適應COM +。事實上,與其他ASP內建對象一樣,這種組件可訪問ObjectContext對象。因此,如果需要,可在任何時候使用SetAbort和SetComplete。
    指令碼組件可用標準的COM介面對現有的業務對象(組件)進行封裝,即使它們是用Perl編寫的也可以進行封裝。在封裝過程中,不必知道如何用Perl編寫,也不必瞭解相關知識。COM的語言中性特徵使得互通性更為容易。
    代碼的組件化不僅改善了Web網站的效能,而且還可通過重新使用通用代碼塊協助設計和維護網站。
    啟用WSC的頁面優於利用伺服器端包含(Server-Side Include,SSI)檔案的頁面。雖然它們做的事情相同,但ASP指令碼組件可根據運行期條件或輸入參數動態地建立所需要的對象。SSI不允許動態選擇,僅允許匯入名稱在頁面的原始碼中硬式編碼檔案。
    當然,ASP指令碼組件也存在一些不足:
    ? 解釋組件不具備編譯組件的效能,因此ASP指令碼組件的效能不一定是最優的。但效能不是使用它們的理由。
    ? ASP指令碼組件不能訪問完整的Win32 API,完成一個系統級的任務需要特定的COMAutomation 物件。而且,指令碼語言與C++相比,甚至與VBA相比還不是一種非常成熟的語言。
16.6.1 選擇正確的工具
    下面介紹建立ASP組件時選擇正確工具的快捷方法。
    要開發關鍵的和真正需要伺服器效能最高的即時組件,應使用Visual C++。
    因為伺服器端組件大多執行一些資料訪問類的任務,所以考慮使用C++和原始的OLE DB調用以獲得最大的效能。Visual C++、ALT模板和OLE DB介面的組合或許對效能的提高是最有效。本書的下一章將對用C++開發組件做更多的描述。
    Visual Basic也是開發組件的強大工具。如果開發的組件不是關鍵性的,可以用Visual Basic。除了同樣具有編譯代碼、完全Win 32訪問和組件化外,Visual Basic比Visual C++容易。
    WSC 可使頁面的原始程式碼群組件化,通過COM建立指令碼對象將增加一些額外工作量,但靈活性和可重用性較好,並且可減少維護工作量。
16.6.2 指令碼組件與VBScript類的比較
    如果打算在ASP組件中使用VBScript 5.0,可以考慮使用VBScript類來替代指令碼組件。
    建立VBScript類比建立Windows指令碼組件用的時間少一些,因為與CreateObject不同,New不需要通過COM引擎和註冊表對裝載的檔案定位。兩者編程能力幾乎相同,但使用WSC可利用不同指令碼語言的優點。
16.7 小結
    本章分析了Windows指令碼組件(WSC)技術,ASP指令碼組件是它的特例。用指令碼語言編寫COM對象並不是難以實現的,事實上,這具有許多優點。但是本章內容並不是對每種情況都適合,所以不能解決實際碰到的所有問題。
    本章內容重新歸納如下:
    ? WSC的結構和介面處理器的作用。
    ? 頁面指令碼代碼中ASP內建對象的映射。
    ? 客戶和ASP指令碼組件的互動。
    ? 用於ASP頁面的一個完整的WSC例子。
    ? ASP指令碼對象的優缺點。
    下一章將介紹如何使用Visual C++編寫功能強大的組件。




相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

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 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。