2010-07-06 64 views
0

起初我对待他们作为任何依赖使它们在构造函数的类消费服务:如何创建和管理wcf服务客户端?

var serviceConsumer = new ServiceConsumer(new MailingServiceClient()) 

的问题是,一旦异常从服务抛出它进入故障状态,也不会回复对任何请求,所以重新初始化到期。

此外,由于生成的代理的配置方法被破坏(调用关闭而没有检查故障状态)并且遇到了几种方法,所以我开始熟悉wcf服务可能无法正确处理的事实克服:

  1. wrapping every call to every service.
  2. override the default IDisposable behavior of the scvutil.exe-generated class

因为我不希望消费者代码来创建服务客户本人进行测试的原因,我的问题是:

  • 我该如何维护一个无故障的服务?

  • 我该如何使用依赖注入来测试性?

+0

这里是第二个链接 http://blog.davidbarrett.net/archive/2007/11.aspx – AlonEl 2010-07-06 09:55:39

+0

当你搜索“WCF客户端依赖注入”时应该有大量的点击 - 只是谷歌或bing,并从那里! – 2010-07-06 10:27:35

回答

0

找到了一个不错的解决方案。

一个代理生成器,用于替换VS之一,并生成一个包含代理错误,超时和正确处理的默认代理的包装器。

http://wcfproxygenerator.codeplex.com/

似乎是为我工作的罚款。