【问题标题】:WCF Faulted StateWCF 故障状态
【发布时间】:2014-06-27 02:59:27
【问题描述】:

WCF CommunicationObject 如何转换到故障状态:我在 Visual Studio 中创建了一个 WCF 库,将其部署到 IIS 中,在其中我有两种方法:

    public string GetData(int value)
    {
        throw new FaultException(value.ToString());
    }

    public CompositeType GetDataUsingDataContract(CompositeType composite)
    {
        throw new TestException();
    }

从客户端,我只是一遍又一遍地调用这两个方法,但是,CommunicationObjectFaultedException 不会在任何时候抛出。

我在一篇文章WCF error handling and some best practices 中读到,非FaultExceptions 默认“自动”转换为FaultException。如果这是正确的,那么 WCF 客户端的通信对象何时以及如何进入故障状态?

另一件事,有没有人知道任何 MSDN 参考资料可以确认 FaultException 是确保 WCF 通信对象不会转换为 Faulted state 的最佳方式。

【问题讨论】:

    标签: c# wcf


    【解决方案1】:

    如果您使用会话(即支持会话的绑定)并且对方法的调用引发未处理的异常,则通道将处于故障状态。

    进入故障状态的另一种方法是在通道打开时会话超时。

    处于故障状态的是通道,而不是服务

    Understanding State Changes in WCF

    【讨论】:

      猜你喜欢
      • 2012-01-28
      • 2014-09-22
      • 2011-04-02
      • 2015-07-06
      • 2011-07-05
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多