Wenn ich eine sitzungslose Bindung habe, gibt es irgendwelche Umstände, unter denen der -Client-Kanal einen Fehler verursacht?Gibt es eine Möglichkeit, einen WCF-Kanal ohne Sitzung zu stören?
In meinem speziellen Fall, dass ich die folgende benutzerdefinierte Bindung haben:
<customBinding>
<binding name="MyCustomBinding">
<mtomMessageEncoding/>
<httpTransport/>
</binding>
</customBinding>
Auf der Clientseite verwende ich die Standard-Proxies generiert, die von ClientBase<T>
abzuleiten.
Ich habe erwartet, dass, wenn der Dienst eine unbehandelte Ausnahme, die kein FaultException
war, dass der Kanal Fehler verursacht und den Client-Proxy-Fehler auch verursachen würde. Dies ist jedoch nicht der Fall - der Proxy blieb weiterhin im offenen Zustand und war danach nutzbar. Ich habe auch versucht, eines der Timeouts der Binding zu verletzen - das hat auch den Kanal nicht gestört und der Client-Proxy blieb im offenen Zustand.
Gibt es eine Situation, die dazu führt, dass der Client-Proxy fehlerhaft wird?
Related:
Wissen Sie, wie Sie mit einem sessionlosen Kanal einen "nicht behebbaren Fehler" verursachen können? Können Sie ein Beispiel geben, bei dem die Open-Methode fehlschlägt und der Client-Kanal in den fehlerhaften Zustand übergeht? Auch warum sagst du: "Wenn es keine Sitzung auf Transportebene gibt, kann der Client den Proxy nach einer Ausnahme weiter verwenden, außer es sollte dies nicht sein". Warum nicht? –