Dienstproxy und Sitzungen
Der Dienstproxy weist spezielle Verhaltensweisen für Sitzungs- und nicht sitzungsbasierte Kanalbindungen auf. Der Dienstproxy stellt sitzungsbasierte Semantik bereit, wenn die zugrunde liegende Kanalbindung sitzungsbasiert ist. In diesem Fall wird ein einzelner Kanal für Dienstanrufe verwendet. Wenn die Kanalbindung jedoch nicht sitzungsbasiert ist, erstellt der Dienstproxy für jeden Anruf einen separaten Kanal. Beachten Sie jedoch, dass nicht sitzungsbasierte Kanäle zusammengefasst und möglicherweise wiederverwendet werden. Beim Erneuten Verwenden eines Kanals behält der Dienstproxy den Kanal offen, wenn der zugrunde liegende Kanal nicht fehlerhaft ist oder der Anruf eines Kanals dazu geführt hat, dass der Dienstproxy den Kanal fehlerhaft macht. Beachten Sie, dass. außer im Falle eines Fehlers, sobald ein Kanal geöffnet wird, wird er geöffnet, solange der Dienstproxy geöffnet ist und nur geschlossen wird, wenn der Dienstproxy geschlossen wird.
Wenn die Kanalbindung sitzungsbasiert ist und der zugrunde liegende Kanal fehlerhaft ist, wechselt der Dienstproxystatuscomputer in den WS_SERVICE_PROXY_STATE_FAULTED Zustand. Bei nicht sitzungsbasierter Kanalbindung führt ein Fehler im zugrunde liegenden Kanal nicht dazu, dass der Proxy in WS_SERVICE_PROXY_STATE_FAULTED Zustand wechselt.
Weitere Informationen zum Dienstproxy und dessen Beziehung zum Status finden Sie im Thema Dienstproxy. Beispiele für unterschiedliche Kanalbindungen finden Sie in den folgenden Beispielen:
- Keine Sitzungskanalbindung, HttpCalculatorClientExample-
- sitzungsbasierte Kanalbindung, SessionfullCalculatorClientExample