【问题标题】:Robust WCF service强大的 WCF 服务
【发布时间】:2009-01-20 09:10:07
【问题描述】:

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

提前致谢。

【问题讨论】:

    标签: .net wcf robustness


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 如果你不处理异常,它会触发你的服务出错。你有责任清理它并强制它关闭或“无故障”。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-16
        • 2012-03-30
        • 2012-04-30
        • 2011-04-22
        • 1970-01-01
        相关资源
        最近更新 更多