2009-01-20 46 views
2

确保服务健壮性以防止服务变得不可用,如果服务变得不可用,最好的方法是重新启动服务吗?强大的WCF服务

在此先感谢。

回答

1

使用托管技术。您可以在Windows服务中自行托管,并放置故障事件以触发服务关闭。然后,您可以使用Windows重新启动您的服务。

或者,如果你有2008的窗口,您可以使用WAS托管服务,它会自动重新启动它。

重要的是要意识到你的服务可能有状态是很重要的,但没有“线”,即在它运行的,所以它没有运行正因为如此,该对象仅存在。你基本上支付微软提供.NET和WCF给你,看起来事情的托管方后,他们保证给你,你的服务将保持可用。

方法崩溃会导致服务错误,但是您可以处理任何可以正常处理的异常,并让操作系统处理您不能处理的事情(例如内存不足异常等)。处理服务错误是你的责任。除此之外,WCF非常强大。

0

只是为了清楚起见,如果出于某种原因,我没有处理异常,这触发终止服务,IIS 7.0下服务应该在新状态下重新启动。

+0

如果不处理异常,就会触发您的服务故障。你有责任清理它并强制它关闭或“非故障”。 – Spence 2009-01-20 20:43:01