2016-03-09 46 views
1

我創建了一個用於跟蹤用戶會話的WPF服務,同時跟蹤用戶會話,我也想跟蹤服務崩潰事件。爲此,我一直在檢查Windows事件日誌並確定錯誤。但我很困惑,它顯示了一個錯誤,它告訴你未能處理sessionchange! 這是服務崩潰嗎?是否有任何特定的服務崩潰異常代碼/ 任何人都可以幫助建議relavent文章/點以識別系統崩潰? enter image description here什麼是服務崩潰的異常代碼?

回答

3

不是崩潰,你只是看到.NET框架的ServiceBase類正在做它的工作。在一些特定情況下,它會捕獲異常並在應用程序事件日誌中創建一個條目。在代碼中這樣做會導致OnStart(),OnStop()等等方法運行。

看起來像服務的OnSessionChange()方法翻倒,只是一個沼澤標準的文件鎖定錯誤。服務代碼很可能有點笨拙,它需要在Main()方法中打開該文件,以免別人混淆它。可能沒有很好地測試,OnSessionChange()不會經常激發。嘗試記錄任何內容的原因當然很少,但是誰知道。

這應該不會影響服務過程,如果OnSessionChange通知失敗,服務控制管理器不會提供太多的聲音。它無能爲力。所以你看到這個主要是因爲你開始尋找,服務確實傾向於在沒有人注意的情況下行事不端。他們確實不太明顯。確保它不是鎖定Log.txt文件的代碼。如果你這樣做,那麼你將不得不使用FileShare.ReadWrite來防止服務崩潰。

相關問題