强大的WCF服务

时间:2009-01-20 09:10:08

标签: .net wcf robustness

确保服务稳健性以防止服务变得不可用的最佳方法是什么?如果服务变得不可用,有没有办法重新启动服务?

提前感谢。

3 个答案:

答案 0 :(得分:1)

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

或者如果你有Windows 2008,你可以使用WAS来托管你的服务,这将自动重启它。

重要的是要意识到你的服务可能有状态,但是没有“线程”在其中运行,所以它不是这样运行的,对象只是存在。您基本上是支付微软为您提供.net和WCF,负责管理托管方面的事情,他们向您保证您的服务将保持可用。

方法中的崩溃会导致服务出现故障,但您可以处理任何可以优雅处理的异常,并让操作系统处理您无法处理的事情(例如内存异常等)注意它您有责任处理服务故障。除此之外,WCF非常强大。

答案 1 :(得分:0)

这取决于您托管服务的方式。

可以在此处找到不同可用选项的解释和比较:http://msdn.microsoft.com/en-us/library/ms730158.aspx

答案 2 :(得分:0)

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