我試圖找到一個優雅的方式來重試WCF渠道處於故障狀態時的操作。當第一次調用發生故障狀態異常時,我嘗試使用Policy Injection AB重新連接並重試該操作,但是PolicyInjection.Wrap方法似乎不喜歡包裝TransparentProxy對象(從ChannelFactory.CreateChannel返回的代理)。WCF操作時的重試機制調用當渠道處於fautled狀態
是否有任何其他機制我可以嘗試或如何嘗試讓PIAB解決方案正常工作 - 任何鏈接,示例等將不勝感激。
下面是我用這是錯誤的代碼: var channelFactory = new ChannelFactory(endpointConfigurationName);
var proxy = channelFactory.CreateChannel(...);
proxy = PolicyInjection.Wrap<IService>(proxy);
謝謝。
謝謝你的回答 - 非常感謝。我對這個解決方案的一個擔憂是,我需要對於我有的100到200個奇怪的服務調用,確保每個服務調用的調用都被包裝在一個ServiceProxy.Instance.TryInvoke中,並且添加到這個調用中,一個維護夢魘,確保任何額外的服務調用也被包裝 - 除了使用策略注入AppBlock(或其他AOP類型的框架) - 除非我錯過了某些東西,否則我看不到任何其他方式來解決此問題。 – CraigM 2010-11-24 13:08:27