7
A
回答
4
並非嚴格如此 - 只會在異常未處理時導致問題。
4
如果該異常未被捕獲,並且氣泡備份到OnStart()方法,則會使服務崩潰。你通常會看到在Windows事件日誌類似於以下的消息:
「的服務名服務意外終止它已完成此x時間(s)
2
如果你在拋出異常。如果你不想在發生異常時停止這個服務,那麼你需要爲你的服務提供一個服務。OnStart()方法需要一個try/catch。處理它(記錄它,繼續前進,或者其他)
我的首選項是處理預期的異常,並且有意外的異常導致服務停止或至少自動停止/重啓。意外的事情發生,你的服務將以未知的狀態運行,誰知道它會做什麼。
3
我們遇到了子線程上未處理異常的問題,導致服務停止,但未提供任何有關導致異常的信息。我們使用這種方法來找出異常的來源。
您可以將一個Handler放入該服務,以捕獲所有未處理的異常(包括該服務的所有子線程)。在VB.NET中,您將需要爲AppDomain.CurrentDomain.UnhandledException添加一個處理程序。它可能類似於C#。然後它會捕獲任何通過onStart冒出的東西。您可以選擇在那裏使用它,或允許它從那裏崩潰服務。
相關問題
- 1. 命名管道在Windows服務中拋出異常
- 2. 在WCF服務拋出異常拋出一個
- 3. 向wcf服務拋出異常
- 4. Restful web服務拋出servlet.init()異常
- 5. 春天web服務拋出異常
- 6. Web服務類拋出異常
- 7. Windows服務異常
- 8. 魔術異常拋出拋出異常
- 9. Grails - 爲什麼在控制器中拋出的異常暫停執行,但在服務中拋出異常呢
- 10. 在C++中拋出異常異常
- 11. 在Java中拋出異常
- 12. 在pimcore中拋出異常
- 13. Web服務在POST請求中拋出錯誤/異常
- 14. Ldap gem在Rails中拋出與服務器異常的連接
- 15. 異常拋出異常
- 16. 拋出異常
- 17. 拋出異常
- 18. 拋出異常
- 19. 異常拋出
- 20. 在TFS服務器上拋出的單元測試異常
- 21. System.Diagnostics.Process.Start在服務器上拋出threadbort異常
- 22. 如何重新拋出SQL服務器中的相同異常
- 23. 如何從Dart的服務器API代碼中拋出異常?
- 24. 在Windows服務中進行SSL連接時出現異常
- 25. 在Windows服務中查找堆棧溢出異常
- 26. JSON在android拋出異常
- 27. 異常在0x71002A85(SDL2_ttf.dll)拋出
- 28. 拋出異常: 'System.IO.FileNotFoundException' 在Prism.Wpf.dll
- 29. sql正在拋出異常
- 30. 拋出異常:「System.ApplicationException」在renderdocui.exe
我已經包裝了在try/catch中計時器運行時運行的整個方法,但沒有得到任何錯誤,但我的服務正在干擾! – Blankman 2009-01-02 19:42:44
「干擾」是什麼意思? – bobwienholt 2009-01-02 19:45:39