WCF故障国家

时间:2014-05-09 11:28:01

标签: c# wcf

如何将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的最佳方法。

1 个答案:

答案 0 :(得分:3)

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

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

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

Understanding State Changes in WCF