2011-10-05 83 views
1

我目前正在研究Windows服務(我的第一個),我想知道如何處理斷開連接事件等。實質上,這個Windows服務輪詢我們的Exchange服務器以尋找新的電子郵件。收到電子郵件後,我們將其解析並將其插入數據庫。現在,只要所有事情都對我有利,我就擁有一切工作。由於這是不可能維持的,我需要尋找方法來確保我的服務保持在線,無論發生什麼事情都不受我控制(減去託管服務的服務器)。Windows服務重新連接策略

我可以預見的主要問題是我們的Exchange服務器出於任何原因關閉或失去互聯網連接。兩年可能發生幾次的問題。

目前,如果關於連接問題引發異常,我會一直嘗試在每30秒鐘超時時間內連接每個n分鐘。因此,假設我們的Exchange服務器停機2小時(計劃維護或意外事件),則服務會嘗試重新連接每個分鐘,直到連接完成。

這是一個可持續策略,以確保我的服務始終保持在線狀態?如果不是,什麼是更好的方法?

我想避免的是我的服務關閉,因爲Exchange有問題讓我不得不手動重新啓動Windows服務。

謝謝。

回答

1

您的策略聽起來像是唯一實用的。

也可能值得考慮增加從服務遠程查看事件日誌的功能,以便您可以診斷您目前不瞭解的問題。如果你真的偏執狂,可以使用第二個「觀察者」服務定期檢查主要服務並報告失敗。