我尝试在服务实现中使用超时和抛出异常,但它没有像在我的生产代码中那样导致通道进入错误状态。
为了测试目的,我该如何强制发生这种情况?
以下代码会对第一个请求抛出异常,使其失败,但是随后的请求成功(不幸的是,因为我的目标是使它们失败)
public class SampleService : ISampleService
{
static bool first = true;
SampleData ISampleService.SampleMethod(SampleData data)
{
if (first)
{
first = false;
throw new Exception();
}
return data;
}
}