.NET Web服务客户端:呼叫失败后自动重试

Yon*_*Yon 5 .net wcf web-services wcf-client

我们有一个.NET客户端使用SSL调用Java Web服务。有时,由于连通性差而导致呼叫失败(.NET客户端是从最奇怪的位置使用的UI)。我们希望实现一种自动重试机制,该机制将在放弃之前自动重试失败的呼叫X次。仅应使用特定类型的连接异常(而不是由Web服务本身生成的异常)来完成此操作。

我们试图在绑定/通道级别上找到方法,但是失败了...有什么想法吗?

谢谢,yonadav

Lou*_*man 2

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

http://wcfproxygenerator.codeplex.com/

从网站:

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

  • 感谢你的回答。这个解决方案看起来相当复杂,有没有更简单的解决方案?MS 是否没有包含 ClientBase 的扩展框架而不需要更换生成器? (3认同)