簡體   English   中英

Windows服務停止的原因

[英]Reasons for windows service to stop

我用C#設計了一個Windows服務,該服務連續運行並產生三個線程。 第一個線程每15秒運行一次。 第二個線程每分鍾運行一次。 和干渴只跑一次。

我的問題是,幾天后,該Windows服務就以某種方式停止了。停止的那一天,事件日志中沒有任何記錄,並且沒有在記錄文件中寫入任何內容。

我想知道Windows服務突然停止的各種原因是什么。 而且此服務不在我的DEV機器上,而是在QA服務器上。

希望有道理!

您可能在一個線程上有未處理的異常-自.NET 2.0起,未處理的異常將像這樣突然終止進程。 確保在線程上運行的所有對象的堆棧頂部都有一個catch塊來處理錯誤(日志,吞咽,編組到另一個線程,無論如何)。 通過將以下內容添加到服務的.exe.config文件中,可以暫時防止此行為(例如,還原到.NET 2.0之前的行為):

<configuration>
  <runtime>
    <legacyUnhandledExceptionPolicy enabled="1" />
  </runtime>
</configuration>

但不要依賴它-它可能會在將來的.NET版本中刪除(尚未檢查4.0-它可能已經不存在了)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM