【问题标题】:Extending WCF-channel to automatically recreate(/reconnect) itself on failure扩展 WCF 通道以在失败时自动重新创建(/重新连接)自身
【发布时间】:2012-07-13 04:21:44
【问题描述】:

我很难使用 NetTcpBinding 和超时。我知道这可以通过在每个服务调用周围编写 Try-Catch-block 来解决,并且在失败时使用 ChannelFactory 创建一个新通道并再次进行相同的调用。唯一的问题是,我必须在数百个地方进行这种丑陋的测量。

我知道必须有更好的解决方案。不幸的是,继承不是我的情况。方面可以工作,但在.net中没有对它们的真正支持..

我想知道是否可以扩展 WCF(通道模型?),如果抛出超时异常,通道会自动重新生成(或尝试重新连接)并再次进行相同的调用。一切都在幕后。

【问题讨论】:

    标签: .net wcf nettcpbinding channelfactory


    【解决方案1】:

    在我们的一个项目中,我们使用了一个代理,它封装了真正的 ServiceClient,并在对通道的调用周围放置了一个 try-catch。
    当引发异常并且通道出现故障时,我们会重新打开连接并再次调用。
    我们设置了一个阈值,在 3 次超时后我们不会再次调用相同的方法。

    您可以使用 DynamicProxy 或 Unity Interceptor 来创建这种机制。
    这个链接可能有用http://kozmic.pl/2009/05/03/wcf-client-proxy-with-castle-dynamic-proxy/

    【讨论】:

    • 谢谢!这比我想要的还要好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-03
    • 2020-04-26
    • 2010-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-10
    相关资源
    最近更新 更多