如何创建和管理wcf服务客户端?

时间:2010-07-06 09:55:18

标签: wcf dispose fault

首先,我将它们视为将它们传递给消费者服务的类的任何依赖:

var serviceConsumer = new ServiceConsumer(new MailingServiceClient())

问题是,一旦从服务中抛出异常,它就会进入故障状态并且不会回复任何请求,因此需要重新初始化。

此外,我熟悉wcf服务可能无法在多个时间正确处理的事实,因为生成的代理的dispose方法被破坏(调用关闭而不检查故障状态)并遇到了几种方法克服了这个:

  1. wrapping every call to every service.
  2. override the default IDisposable behavior of the scvutil.exe-generated class
  3. 由于我不希望消费者代码自己出于测试原因创建服务客户端,我的问题是:

    • 如何维护有效的无故障服务?

    • 我怎样才能使用依赖注入来测试可测性?

1 个答案:

答案 0 :(得分:0)

找到了一个很好的解决方案。

替换VS的代理生成器,并在默认代理周围生成一个包装器,用于处理代理故障,超时和正确处理。

http://wcfproxygenerator.codeplex.com/

似乎对我有用。

相关问题