3
我尝试了超时并在服务实现中抛出异常,但它并未导致通道进入故障状态,因为它发生在我的生产代码中。如何使WCF服务通道进入故障状态?
我该如何强制这个事件发生用于测试目的?
下面的代码抛出了第一个请求例外,使它失败,但后续请求成功(遗憾的是,因为我的目标是让他们失败)
public class SampleService : ISampleService
{
static bool first = true;
SampleData ISampleService.SampleMethod(SampleData data)
{
if (first)
{
first = false;
throw new Exception();
}
return data;
}
}
实际上,这不会起作用 - 使用FaultContracts或SOAP故障专门设计为** NOT **将您的通道置于故障模式! – 2010-01-04 15:55:12
你是对的,实际上它恰恰相反 – Brann 2010-01-04 16:38:38
我的例外不起作用,因为我在新的请求之前丢弃了错误的频道。 – 2010-01-04 17:36:44