2014-03-13 38 views
0

我開發了一個Windows服務,它監視一個目錄,並在特定文件到達後,使用SMTP向用戶發送電子郵件。如何識別Windows服務是否掛起?

該服務已經投入生產一段時間了。現在,用戶偶爾會抱怨他們沒有收到日常工作流程的郵件。重新啓動服務後問題得到解決。

服務日誌不顯示任何錯誤實例。我的意見是,該服務得到洪/無響應。有什麼方法可以確定服務何時掛起或得到相同的通知?我的意思是,這可以作爲例外處理嗎?

此外,可能導致服務掛起的可能原因是什麼?

EDIT1 或者,問題可能是由於File Watcher導致的嗎?文件監視器可能已停止運行或無響應嗎?如果是這樣,是否有任何方法模擬無響應的文件觀察器?

EDIT2 該問題已被確定。問題出在File Watcher上。顯然,監視器正在查找的目錄變得無法訪問,可能是由於網絡故障。現在,如果該目錄無法訪問,FileWatcher會感到困惑並失去方向,從而導致服務無響應。

+0

是什麼讓你覺得它掛起? – CodeCaster

+0

日誌中沒有任何內容。如果發生異常,異常處理程序會捕獲並記錄它。此外,每當報告問題時,服務始終處於啓動模式。並在重新啓動時工作。這導致相信服務被掛起。 – AnkitMittal

+0

然後,如果你分享一些相關的代碼,它可能會證明是有用的。 – CodeCaster

回答

0

該問題已被識別。問題出在File Watcher上。顯然,監視器正在查找的目錄變得無法訪問,可能是由於網絡故障。現在,如果該目錄無法訪問,FileWatcher會感到困惑並失去方向,從而導致服務無響應。無論如何感謝您的關注。