其實這是每個人都能想到的問題.
寫出來的目地,是為了解決即將開發的那個C2C平台里安全性問題的一個方面----源代碼洩漏.
為了避免源代碼的洩漏和提高運行效率,可以將ASP程式的部分核心程式封裝在DLL檔案裡.目前比較常見的方式是使用VB來封裝ASP程式碼.
在windows的系統下安裝了IIS後就應該有了Microsoft Active Server Pages Object Library這個函式庫了吧?不知道為什麼有的文檔裡要寫什麼Microsoft ActiveX Data Object 2.0 Library...關數據庫什麼事呢??迷糊...當然如果操作資料庫的話應該會用到這個引用.
在ASP頁面中可以方便的用下面的方式呼叫類別,這樣我們封裝的ASP程式碼就由那個DLL檔來負責傳給伺服器去處理了.
Set ObjReference=Server.CreateObject("ProjectName.ClassName")
無論什麼時候用戶訪問系統平台裡一個帶有自訂元件的ASP檔,IIS就會把該元件裡的類別定義中我們自訂的物件提出來讓我們使用.可以在這個類別定義裡設計實作某一功能的ASP方法和屬性.只要在這類裡聲明過ASP的內建物件,我們當然就可以存取所有的ASP內建物件了.具體的做法很多文件上都有,隨便翻翻就能找到.
試設想,當我們設計好系統的具體功能的時候,可以將管理員權限區別及用戶的登入甚至交易過程這些希望安全性更強和調用頻繁的部分封裝在DLL裡的時候,不但可以有效的增加安全係數,而且對程序運行效率來說也很重要,因為這些都是在商務平台上隨時都要用到的.根據具體得需要,我們可以定義很多個類別在這個自訂元件裡面,比如驗證部分叫Eshop.Checkroot,而交易部分叫Eshop.Transactions什麼的.使用不同功能時調用不同的類別,可以說將面向對象編程應用到ASP裡...
這種方法最令人不爽的就是不適用於虛擬主機的用戶,因為無法將組件註冊到系統裡.所以比較適用於那些大的系統並且擁有自己的伺服器.
在VC++裡應該也可以實現對這種DLL文件的設計,例如COM組件的製作應該就是解決辦法,利用ASP來調用COM組件,我對VC++研究的還太少,必須加快腳步了...
寫了這麼多廢話,希望能給用ASP來做B/S模式軟體的人一點點啟發.