如何使WCF服务通道进入故障状态?

3

我尝试在服务实现中使用超时和抛出异常,但它没有像在我的生产代码中那样导致通道进入错误状态。

为了测试目的,我该如何强制发生这种情况?

以下代码会对第一个请求抛出异常,使其失败,但是随后的请求成功(不幸的是,因为我的目标是使它们失败)

public class SampleService : ISampleService
{
    static bool first = true;

    SampleData ISampleService.SampleMethod(SampleData data)
    {
        if (first)
        {
            first = false;
            throw new Exception();
        }
        return data;
    }
}
1个回答

0
在服务器中引发未捕获的异常会使您的通道处于故障状态,除非它是 FaultException(感谢 marc_s!)。

1
实际上,这样做行不通 - 使用FaultContracts或SOAP故障是专门设计的,不会将您的通道置于故障模式! - marc_s
我的异常没有起作用,因为我在新请求之前丢弃了有问题的通道。 - Jader Dias

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接