當.Net服務崩潰時,ServiceBase.OnStop方法會被調用嗎?無論OnStop方法是否被調用,服務是否會被標記爲停止?當.Net 2.0服務崩潰時,ServiceBase.OnStop會被調用嗎?
1
A
回答
1
使用try-catch並自己調用OnStop;不要依靠「自動停止」,即使它被「保證」,它仍然不是一個好主意。服務應儘可能健壯。
0
如果通過崩潰,你的意思是在你的服務中有一個未處理的異常,那麼答案是否定的。OnStop不會被調用。通常該服務將被標記爲停止。但是Steven是正確的,每個「根」方法都必須有一個圍繞任何可能拋出異常的代碼的try-catch塊,你的服務不應該有未處理的異常。
0
OnStop()僅在服務實際被告知停止時調用。這不包括例如系統關機,因爲有一個單獨的方法來覆蓋(稱爲OnShutdown()
)。
無論你在OnStop()
地方應該有可能是,但到一個單一的獨立的方法,可以從兩個OnStop()
和OnShutdown()
至於追趕奇意外的異常被調用,我會嘗試建議包裹ServiceBase.Run()
通話/捕獲在捕獲克勞斯。這幾乎可以保證你在發生異常時進行某種記錄。
相關問題
- 1. 當應用程序崩潰時,'applicationWillTerminate'或'applicationDidEnterBackground'會被調用嗎?
- 2. 當服務被調用時,android- static變量會被更新嗎?
- 3. 當SetupDiGetDeviceInterfaceDetail被調用時,程序崩潰
- 4. 當intent.getExtras()被調用時,ICS崩潰
- 5. 調試服務崩潰
- 6. .NET Windows服務在調度Windows消息時崩潰
- 7. 從.NET 2.0調用.NET 3.5+ ASMX Web服務或WCF服務CF
- 8. Web服務沒有被調用和崩潰
- 9. C#.NET Web服務的Microsoft.Office.Interop.Word崩潰
- 10. 如何調試崩潰的Windows服務?
- 11. 當onResponse被調用時,應用程序崩潰
- 12. 當BroadcastReceiver被調用時,應用程序崩潰
- 13. 當碎片被替換時,應用會一直崩潰
- 14. 當一個函數被調用時,活動崩潰的問題
- 15. boost xml_iarchive當析構函數被調用時崩潰
- 16. 當調用CallVoidMethod時JNI崩潰
- 17. 當從cmd.exe調用Nuget.exe時崩潰
- 18. 當調用ClearHeaders時,WSE 3.0崩潰
- 19. unique_ptr當調用reset時數組崩潰
- 20. 使用定位服務時XDE崩潰
- 21. 調用保留屬性時,TableViewController會崩潰嗎?
- 22. 當PowerManager.goToSleep被調用時,Android服務會發生什麼?
- 23. 在崩潰時,Firebase的「崩潰報告」會自動報告嗎?
- 24. 應用程序崩潰時,Web服務
- 25. 當QTreeWidget被清除時,PyQt5 GUI崩潰
- 26. ShareKit 2.0崩潰
- 27. 當調用accept時,Android應用程序TCP/IP服務器崩潰
- 28. 服務啓動時Android應用程序崩潰了嗎?
- 29. 當通過JNI橋調用楔形文庫時會崩潰
- 30. 當從服務器調用宏時會出現消息框嗎?