Ich versuche eine elegante Möglichkeit zu finden, einen Vorgang zu wiederholen, wenn ein WCF-Kanal im fehlerhaften Zustand ist. Ich habe versucht, die Policy Injection AB zu verwenden, um die Operation erneut zu verbinden und die Operation erneut zu versuchen, wenn beim ersten Aufruf eine Ausnahmefehler auftritt. Die PolicyInjection.Wrap-Methode scheint jedoch nicht das Wrapping der TransparentProxy-Objekte (von ChannelFactory.CreateChannel zurückgegebener Proxy).Retry-Mechanismus bei WCF-Betriebsaufruf, wenn Kanal im fehlerbehafteten Zustand
Gibt es einen anderen Mechanismus, den ich ausprobieren könnte oder wie ich versuchen könnte, die PIAB-Lösung richtig zu funktionieren - alle Links, Beispiele usw. würden sehr geschätzt werden. Hier
ist der Code, den ich wurde mit diesen versagte: var channelFactory = new ChannelFactory(endpointConfigurationName);
var proxy = channelFactory.CreateChannel(...);
proxy = PolicyInjection.Wrap<IService>(proxy);
Danke.
Vielen Dank für Ihre Antwort - es wird sehr geschätzt. Meine einzige Sorge mit dieser Lösung ist, dass ich für die 100-200 Serviceaufrufe, die ich habe, sicherstellen muss, dass jeder Aufruf eines Serviceaufrufs dann in eine ServiceProxy.Instance.TryInvoke verpackt wird, und um das hinzuzufügen, ein Wartungsalbtraum, der sicherstellt, dass alle zusätzlichen Serviceanrufe auch eingepackt werden - ich sehe keinen anderen Weg, um das zu umgehen, als den Policy Injection AppBlock (oder ein anderes AOP-Framework) zu verwenden - es sei denn, ich verpasse etwas. – CraigM