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