确保服务健壮性的最佳方法是什么,以防止服务变得不可用,如果它确实变得不可用,是否有重新启动服务的方法?
提前谢谢。
发布于 2009-01-20 09:15:35
使用托管技术。您可以在windows服务中自行承载,并放置错误事件以触发该服务关闭。然后,您可以使用windows重新启动服务。
或者,如果你有windows2008,你可以使用WAS来托管你的服务,它会自动重启它。
重要的是要认识到,你的服务可能有状态,但没有“线程”在其中运行,所以它不是这样运行的,对象只是存在。你基本上是付钱给微软提供.net和WCF给你,这会照顾到托管方面的东西,他们保证你的服务将保持可用。
方法中的崩溃会导致服务出错,但您可以处理任何可以优雅处理的异常,并让操作系统处理您不能处理的事情(例如内存不足异常等)。注意:处理服务故障是您的责任。除此之外,WCF是非常健壮的。
发布于 2009-01-20 09:19:59
这取决于您托管服务的方式。
不同可用选项的说明和比较可在此处找到:http://msdn.microsoft.com/en-us/library/ms730158.aspx
发布于 2009-01-20 09:27:05
为了清楚起见,如果由于某种原因我没有处理异常而触发了服务终止,那么在IIS 7.0下,服务应该以新的状态重新启动。
https://stackoverflow.com/questions/460543
复制相似问题