Delphi中MIDAS應用程序COM服務器實例化模型種類
(1)Internal Instance
創建一個In-Process的COM程序,即DLL服務器.
(2)Single Instance
如果每個客戶程序都運行服務器程序的一個實例,則使用該模型.就是每個連上線的前台程序,在服務器上都會有一個對應的應用程序服務器被運行.因此每個前台發出來的查詢都會有各自
獨立Process的應用程序來處理,根本無所謂排隊的問題.但是它會比較占用系統資源,影響服務器整體的運行效率.
(3)Multiple Instance
如果客戶程序共享服務器程序,則使用該模型.就是一個應用程序服務器可以同時處理好幾個前台程序的鏈接,以技術的層面來解釋就是所有前台程序可以共享單一Process的應用程序服務
器.該模式的最大好處是,激活及運行的效率較快,比較不會耗用服務器太多系統資源,而且管理上比較方便.但是它隱藏著一個不具備多任務處理的問題,如果一個前台用戶發出了一個查詢
請求,而且這個查詢要求產生的結果可能多大數MB,這時候,其他在線前台用戶發出的查詢要求都必須等待之前的查詢要求運行完並得到相應之後,才得以繼續運行.這可能會耗用許多時間,
而且,如果一旦某個前台程序的查詢發生錯誤,那麼其他在後面排隊的查詢請求將會跟著死掉.
注:那麼到底采用哪種模式來創建應用程序服務器?答案是:按系統需求而定.簡單的說就是,你可以創建兩組應用程序服務器,一組是采用Multiple Instance模式,另一組采用Single
Instance模式,而你必須把程序的類型分為兩種,一種是查詢數據量較小或是比較不重要的寫入操作,另一種查詢數據量較大或是重要數據的寫入操作.如此一來,你的前台程序就可以放置
兩個TDCOMConection來各自連上兩個不同模式的應用程序服務器,進行不同性質的工作.