2010-05-27 24 views
0

我的Windows服務中有一個使用C#2.0構建的計時器。我們正在設計異常處理的過程。由於Timer是在它自己的線程上運行,所以我們想處理內存不足異常。當發生這種情況時,我們想停止服務。當不同的線程發生這種情況時,我們如何能夠輕輕地停止服務?內存不足異常 - Windows服務停止

+0

您是否已經覆蓋onStop事件並調用它?您可以捕獲異常並調用您將停止的事件,然後調用Environment.Exit()。如果你需要在那裏,你可以等待線程。 – Brandi 2010-05-27 16:28:30

回答

0

使用服務控制管理器API向您自己的服務發送「停止」命令?這將允許您的標準功能來處理該命令被調用。

1

OutOfMemoryException永遠不應該由您的應用程序「處理」。如果有任何內存泄漏並立即解決泄漏,您應該開始排除故障。