起初我将它们视为将它们传递给使用服务的类的任何依赖:
var serviceConsumer = new ServiceConsumer(new MailingServiceClient())
问题是,一旦从服务中抛出异常,它就会进入故障状态并且不会回复任何请求,因此需要重新初始化 .
此外,我开始熟悉wcf服务可能无法在多个时候正确处理的事实,因为生成的代理的dispose方法被破坏(调用close而不检查错误状态)并遇到了几种方法来克服这个问题:
由于我不希望消费者代码自己出于测试原因创建服务客户端,我的问题是:
-
如何维护有效的无故障服务?
-
如何仍然使用依赖注入来测试性?
1 回答
找到了一个很好的解
代替VS的代理生成器,并在默认代理周围生成一个包装器,用于处理代理故障,超时和正确处理 .
http://wcfproxygenerator.codeplex.com/
似乎对我来说工作正常 .