我尝试了超时并在服务实现中抛出异常,但它并没有导致通道进入生产代码中发生的错误状态。
为了测试目的,我怎么能强制这个事件发生?
以下代码抛出第一个请求的异常,使其失败,但后续请求成功(不幸的是,因为我的目标是让它们失败)
public class SampleService : ISampleService
{
static bool first = true;
SampleData ISampleService.SampleMethod(SampleData data)
{
if (first)
{
first = false;
throw new Exception();
}
return data;
}
}
答案 0 :(得分:0)
在你的服务器中引发一个未捕获的异常将使你的Chanel处于错误状态,除非它是一个FaultException; (感谢marc_s!)