2009-01-20 45 views
2

確保服務健壯性以防止服務變得不可用,如果服務變得不可用,最好的方法是重新啓動服務嗎?強大的WCF服務

在此先感謝。

回答

1

使用託管技術。您可以在Windows服務中自行託管,並放置故障事件以觸發服務關閉。然後,您可以使用Windows重新啓動您的服務。

或者,如果你有2008的窗口,您可以使用WAS託管服務,它會自動重新啓動它。

重要的是要意識到你的服務可能有狀態是很重要的,但沒有「線」,即在它運行的,所以它沒有運行正因爲如此,該對象僅存在。你基本上支付微軟提供.NET和WCF給你,看起來事情的託管方後,他們保證給你,你的服務將保持可用。

方法崩潰會導致服務錯誤,但是您可以處理任何可以正常處理的異常,並讓操作系統處理您不能處理的事情(例如內存不足異常等)。處理服務錯誤是你的責任。除此之外,WCF非常強大。

0

只是爲了清楚起見,如果出於某種原因,我沒有處理異常,這觸發終止服務,IIS 7.0下服務應該在新狀態下重新啓動。

+0

如果不處理異常,就會觸發您的服務故障。你有責任清理它並強制它關閉或「非故障」。 – Spence 2009-01-20 20:43:01