2010-04-29 119 views
4

我們有一個使用SSL調用Java web服務的.NET客戶端。有時,由於連接不暢,呼叫失敗(.NET客戶端是從最奇怪的位置使用的UI)。我們希望實施一種自動重試機制,在放棄之前會自動重試失敗的呼叫X次。這應該完全由特定類型的連接異常完成(而不是由Web服務本身生成的異常)。.NET Webservice客戶端:呼叫失敗時自動重試

我們試圖找到如何在綁定/通道級別上做到這一點,但失敗了......任何想法?

感謝, yonadav

回答

2

退房的米歇爾·布斯塔曼特的異常處理代理生成。它會自動處理重試:

http://wcfproxygenerator.codeplex.com/

從網站:

這個自定義工具擴展WCFProxyGenerator提供異常處理的代理。它生成一個名爲ExceptionHandlingProxy的附加代理,它繼承了ExceptionHandlingProxyBase - 後者實現了代理功能。結果是您可以選擇使用繼承ClientBase或ExceptionHandlingProxy的默認代理,該代理封裝了管理通道工廠和通道的生命週期。 ExceptionHandlingProxy在「添加服務引用」對話框中尊重您在異步方法和集合類型方面的選擇。

+3

感謝您的回答。這個解決方案看起來相當複雜,沒有簡單的解決方案嗎? MS沒有爲ClientBase添加擴展框架而無需更換生成器? – Yon 2010-05-03 16:33:14