12
A
回答
5
這只是要求正確組織和分解代碼,所以它不需要需要從服務方法中調用。 IE,你有一個函數調用來運行一切 - 可以從服務中調用,或者通過Main方法調用 - 或者由NUnit等調用。
否則,如果你仍然想要一個替代方案, Main方法,然後運行您的程序作爲Windows計劃任務的一部分。
+3
是最好的選擇,但它不是那麼簡單。您將會遇到特定於Windows服務的時間錯誤,如安裝問題,日誌記錄,訪問衝突等,這些都很難測試。您可以將調試程序附加到進程中,但仍然不是查找錯誤的理想方法。 –
0
您可以考慮使用Windows Azure Worker角色。您將獲得一個正在運行的服務,例如也託管在雲中的環境。
3
您最佳的Windows服務替代方案是Windows Server AppFabric。關於使用它,這裏有很好的blog entry。
但是,我認爲這不一定更容易測試。測試的最佳選擇是從控制檯運行Windows服務。這可以通過實例化服務對象並公開一個方法來啓動它來完成。
13
查看Topshelf project。簡單的控制檯應用程序,但可以安裝爲Windows服務。
相關問題
- 1. Windows服務的替代
- 2. 替代Web服務C#
- 3. 替代MSMQ的Windows服務器核心
- 4. Windows服務或任何其他替代
- 5. Windows服務C
- 6. Windows服務 - C#
- 7. 替代C++ Web服務客戶端庫
- 8. 替代Ria服務
- 9. C#Windows服務沒有執行代碼
- 10. 替代Fsync的Windows C++
- 11. C++ Windows替代版本?
- 12. C++ windows curl服務
- 13. C#的Windows服務
- 14. Ria服務替代WCF服務
- 15. Ruby替代服務層
- 16. Web服務替代品
- 17. g:formatDate服務中的替代
- 18. XMPP服務器替代品
- 19. GetDesktopWindow替代的服務
- 20. 替代服務器輪詢?
- 21. mysql_real_escape_string替代SQL服務器
- 22. c中的windows服務代碼,在哪裏編寫服務邏輯代碼?
- 23. 代理池Windows服務
- 24. &lt;'代替'<' - WSO2代理服務
- 25. MSBuild無法構建MSI。是否有Windows服務的替代品?
- 26. 每隔幾天重置asp「Windows服務」的替代方案
- 27. Windows Server 2008 R2上的VMWare服務器的替代
- 28. 輪詢應用程序的Windows服務的替代品
- 29. C++ Windows服務錯誤1063
- 30. C#Windows服務運行
您的聲明:「我的問題的原因是我發現windows服務很難測試,因爲它需要先安裝。」我想就此說,您可以通過首先編寫它的整體來測試窗口服務代碼按鈕在表單中單擊。當您對錶單的代碼感到滿意後,可以將該代碼複製並粘貼到Service.cs文件中。 –
我必須同意這一點上的OP,服務很難排除故障,特別是在生產環境中。但是,是的,有辦法來緩解這個問題,通過編寫代碼首先作爲控制檯/贏取窗體運行。對於安裝問題和特權,儘管 –