uniGUI執行程序部署有3種形式
1、ISAPI模式
部署在IIS或Apache,程序編譯為Dll形式,沒有試,准備后續專門測試一下。
2、標准執行文件模式
將軟件編譯成一個獨立的Exe文件,包括了WEB服務和業務內容,是uniGUI部署方式中最簡單的一種。該方式最大特點是可以進行代碼跟蹤,同一般exe程序調試一樣,在Debug模式下程序調試非常方便。運行exe后就可以直接打開頁面進行測試,通過任務欄上的圖標可以打開服務監控頁面,監控服務程序的運行情況,如下圖:
3、Windows服務模式
將軟件編譯成Windows下的Service模式,並自動啟動。從工程文件上看,與一般的程序工程文件略有差異,這里不詳述。另外工程中增加了一個ServiceModule.pas文件和對應的窗體文件,該模塊單元定義了Windows Service的一些屬性,包括名稱、依賴等,我只修改了DisplayName屬性,其他屬性都采用缺省。
特別需要注意的是:不要嘗試修改該文件的文件名和模塊類名,否則系統無法識別,編譯能通過,但運行時報無法啟動,估計是內部代碼上寫死了。
注冊Service的方式同一般的Windows Service程序,通過命令行加 –install參數,注銷用 –uninstall參數,如下:
MyServiceApp –install
MyServiceApp -uninstall
啟動用命令行,如下:
net start UniServiceModule
UniServiceModule就是模塊的類名不要前綴T
在實際應用中,我采用了2個工程,一個是標准執行文件模式,Debug+Win32,用於程序調試,另外一個工程采用Windows Service模式,Release + Win64,用於部署運行。在少量客戶端(<5個)情況下,運行效果非常不錯,我打開一個2萬條記錄的表,按照50條/頁進行分頁顯示,從數據獲取到第一頁數據展示,本地大約在3~4秒之間,雲服務器(帶寬 10M,實際檢測復制文件時<200KByte/秒)上大約在6~7秒,獲取第二頁數據大約需要1秒。
最關心的是該服務程序在較多客戶終端(300~500個)情況下的性能,按照作者的話說是不取決於程序,而取決於服務器硬件條件。擬在近期用WinRunner做個測試,看看具體效果,主要是ISAPI 和 Windows Service兩種模式的性能。