.NET Webservice客户端:呼叫失败时自动重试

问题描述:

我们有一个使用SSL调用Java web服务的.NET客户端。有时,由于连接不畅,呼叫失败(.NET客户端是从最奇怪的位置使用的UI)。我们希望实施一种自动重试机制,在放弃之前会自动重试失败的呼叫X次。这应该完全由特定类型的连接异常完成(而不是由Web服务本身生成的异常)。.NET Webservice客户端:呼叫失败时自动重试

我们试图找到如何在绑定/通道级别上做到这一点,但失败了......任何想法?

感谢, yonadav

退房的米歇尔·布斯塔曼特的异常处理代理生成。它会自动处理重试:

http://wcfproxygenerator.codeplex.com/

从网站:

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

+3

感谢您的回答。这个解决方案看起来相当复杂,没有简单的解决方案吗? MS没有为ClientBase添加扩展框架而无需更换生成器? – Yon 2010-05-03 16:33:14