4
A
回答
2
「不掛」始終是一個硬條件,明確檢測,並且將取決於你的服務的細節。
一般而言,可以使用任何形式的進程間通信的。一個簡單的方法是創建一個名爲共享內存映射,只是從您的服務信息寫入其週期性。另一個進程可以監視共享內存並查看其狀態是否停止改變。
這種方法的好處是,你可以擴展共享內存塊,以包括其他診斷可以幫助診斷任何問題。
2
的一種方法是,你可以在.NET中創建自己的性能計數器:
http://msdn.microsoft.com/en-us/library/5e3s61wf(VS.71).aspx
,然後讓櫃檯綁在帶有計時器「秒活躍」。
0
顯而易見的解決辦法似乎是,檢查它是否仍然響應。因此添加一個低頻看門狗定時器。我不知道你想在哪裏監控生動活潑,但是在大多數地方你應該可以從命名管道讀取。然後將看門狗定時器事件轉換爲對命名管道的寫入。如果您沒有觀察讀取,您知道您的服務無法響應至少一個計時器。
0
您可以創建一個命名事件或互斥鎖,然後在您的代碼執行時切換它。然後一個外部程序可以看到這個脈衝作爲程序運行的指示。
我也使用了在另一個線程中運行的內部看門狗系統。該線程查看活動的主線程,如日誌輸出或切換事件。如果沒有看到該活動,則該服務被視爲掛起,並關閉該服務。在這種情況下,您可以將窗口配置爲自動重新啓動已停止的服務,並且可以清除問題(只要它不是內部邏輯錯誤)。
還包括服務我都被寫入日誌文本日誌工作。另外,對於即將「睡一會兒」的服務,我記錄下次醒來的時間。我使用MTAIL來查看輸出的日誌。
相關問題
- 1. 檢查服務是否掛起的最佳方法
- 2. 確定是否安裝了.NET 3.5的最佳方式
- 3. 掛起是否表示其執行方法尚未在Android中調用?
- 4. 在.NET中註冊現有Windows服務的最佳方法是什麼?
- 5. 在Windows機器上互連2個.NET服務的最佳方法是什麼?
- 6. 確定Object是否被更改的最佳方法是什麼?
- 7. 如何識別Windows服務是否掛起?
- 8. ping /通知.NET Windows服務的最簡單方法是什麼?
- 9. 確定所需服務器數量的最佳方法
- 10. Android服務尚未綁定
- 11. 什麼是最佳的計時器間隔? .NET Windows服務
- 12. .NET - 檢查和控制Windows服務的最佳庫是什麼?
- 13. 確定網頁是否在iframe中查看的最佳方法
- 14. 確定ReportViewer是否安裝的最佳方法
- 15. 確定是否僅通過facebook加載my_page的最佳方法
- 16. 確定行是否存在的最佳方法
- 17. 確定函數是否有輸出的最佳方法?
- 18. 確定用戶是否查看過數據的最佳方法
- 19. 確定數據庫是否已更改的最佳方法?
- 20. 確定是否有新數據的最佳方法
- 21. 確定文件是否爲空(php)的最佳方法?
- 22. 確定TCP端口是否可用的最佳perl方法
- 23. 確定幀是否跨域的最佳方法?
- 24. 確定Flex中是否存在XML屬性的最佳方法
- 25. 確定進程是否已掛起
- 26. 確定正確downcast的最佳方法
- 27. 等待從尚未創建的服務器下載文件的最佳方式?
- 28. 在.net中設置windows服務描述的最佳方式是什麼?
- 29. 什麼是從Windows Mobile調用Web服務的最佳方式(.NET 3.5)
- 30. 是否有處理命名時尚的最佳方式?