【问题标题】:.NET Webservice Client: Auto-retry upon call failure.NET Webservice 客户端:调用失败时自动重试
【发布时间】:2011-02-13 18:31:09
【问题描述】:

我们有一个使用 SSL 调用 Java Web 服务的 .NET 客户端。有时,由于连接不良(.NET 客户端是从最奇怪的位置使用的 UI),调用会失败。我们想实现一个自动重试机制,在放弃之前自动重试失败的调用 X 次。这应该只针对特定类型的连接异常来完成(而不是针对 Web 服务本身生成的异常)。

我们试图在 Binding/Channel 级别找到方法,但失败了……有什么想法吗?

谢谢, 约拿达夫

【问题讨论】:

    标签: .net wcf web-services wcf-client


    【解决方案1】:

    查看 Michelle Bustamante 的异常处理代理生成器。它会自动处理重试:

    http://wcfproxygenerator.codeplex.com/

    来自网站:

    此自定义工具扩展了 WCFProxyGenerator 以提供异常处理代理。它生成一个名为 ExceptionHandlingProxy 的附加代理,它继承了 ExceptionHandlingProxyBase - 后者实现了代理功能的核心。结果是您可以选择使用继承 ClientBase 或 ExceptionHandlingProxy 的默认代理,后者封装了管理通道工厂和通道的生命周期。 ExceptionHandlingProxy 尊重您在“添加服务引用”对话框中关于异步方法和集合类型的选择。

    【讨论】:

    • 感谢您的回答。这个解决方案看起来相当复杂,没有更简单的解决方案吗? MS 是否没有包含 ClientBase 的扩展框架而无需更换生成器?
    猜你喜欢
    • 2019-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-18
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多