使用VC++6.0製作ASP伺服器控制項簡介(zt)

來源:互聯網
上載者:User
使用VC++6.0製作ASP伺服器控制項簡介
富 亮
--------------------------------------------------------------------------------

用ASP寫網頁的程式員,一定對VBSript語句“Set Conn=Server.Object('ADODB.Connection’)”非常熟悉。該語句是利用ASP的Server對象建立了一個資料庫控制項,它提供了一系列的方法和屬性,可以協助我們在ASP中方便的實現資料庫的操作。類似的,在Visual InteDev6.0中,我們還可以看到一些ASP的內建群組件如“Scripting.FileSystemObject”。但是,在有的場合,僅利用這些是不夠的或複雜的,而且ASP的Script語言遠不如C++語言功能強大(如建立鏈表,B+樹結構等),這就使我們想到,是否可以在開發網頁時使用具有良好資料結構的C++語言。雖然CGI,ISAPI等都可謂是用C/C++開發網頁的先驅,但我們知道CGI,ISAPI的開發週期很長,且不與網頁結合,直觀性差,編寫、調試困難;而在穩定性上,由於ISAPI是動態連結的方式,因此在執行若出現問題,會使得Web伺服器一起癱瘓。而ASP正好能補足這些缺點。
由此可見,如果能學會編寫ASP組件就能結合ASP的長處編寫出強大的網頁。可惜的是,筆者在市面上很少看到有專門講如何用VC++來製作ASP組件的書籍。一般VC書籍只講一些寫Windows視窗程序或再加上編寫普通的動態連結程式庫。而ASP書籍更是只談ASP中內建群組件的使用方法。其實,如果要真正掌握編寫ASP組件的機制,要牽涉到大量的COM技術的知識。而一些講COM技術的書是很深奧的,且很少能結合有用的執行個體。為此,筆者想藉此文以最簡單的方法向大家介紹編寫過程。所謂簡介,正說明將不涉及COM知識的具體細節,僅給出實現方法。
一、建立工程
開啟VC++6.0,選擇New Projects中的ALT COM AppWizard, 並輸入好工程名(如MyStudio),記住該工程名將成為ASP組件名的一部分(其實可以修改,但很麻煩),在下一頁上選擇Server Type 為DLL,並可考慮在Support MFC前打勾(想必使用MFC編程的人不少)。按Finish結束。在產生的程式碼中有四個標準的匯出函數註冊DLL的,我們不必關心。

二、建立COM對象(建立ATL活動模版庫類)
在菜單上選擇Insert New Class,並建立一個ATL Class,如取名為CmyComponent,你會發現在介面表中出現了一個ImyComponent,以後建立該介面的方法和屬性就可以在ASP中使用了。把Aggregatable選項去掉,我們不需要它。保持其他不變。

三、添加介面方法
在ClassView中,右擊ImyComponent,在出現的菜單中按Add Method。如圖,在Method Name中可寫上方法名如InitMyComp。在Parameters中寫上方法的參數如[in]int Number1,[out,retbal]int* Number2。這裡要特別說明的是參數的寫法。

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.