Serwer proxy usługi i sesje
Serwer proxy usługi ma specjalne zachowania dla powiązań kanału sesji i niezwiązanych z sesją. Serwer proxy usługi udostępnia semantykę opartą na sesji, jeśli bazowe powiązanie kanału jest oparte na sesji. W takim przypadku pojedynczy kanał jest używany do obsługi wywołań. Jeśli jednak powiązanie kanału nie jest oparte na sesji, serwer proxy usługi tworzy oddzielny kanał dla każdego wywołania. Należy jednak pamiętać, że kanały niezwiązane z sesją są w puli i mogą być ponownie używane. W ponownym użyciu kanału serwer proxy usługi utrzymuje kanał otwarty, jeśli kanał bazowy nie został uszkodzony lub wywołanie kanału spowodowało, że serwer proxy usługi uszkodził kanał. Należy pamiętać, że. z wyjątkiem wystąpienia błędu, po otwarciu kanału jest on otwarty tak długo, jak serwer proxy usługi jest otwarty i jest zamykany tylko wtedy, gdy serwer proxy usługi jest zamknięty.
Jeśli powiązanie kanału jest oparte na sesji i jeśli podstawowe błędy kanału, maszyna stanu serwera proxy usługi przejdzie do stanu WS_SERVICE_PROXY_STATE_FAULTED. W przypadku powiązania kanału bez sesji błąd w bazowym kanale nie powoduje przejścia serwera proxy do stanu WS_SERVICE_PROXY_STATE_FAULTED.
Aby uzyskać więcej informacji na temat serwera proxy usługi i jego relacji ze stanem, zobacz temat serwera proxy usługi. Przykłady różnych powiązań kanału można znaleźć w następujących przykładach:
- powiązanie kanału innego niż sesja, HttpCalculatorClientExample
- powiązanie kanału opartego na sesji, SessionfullCalculatorClientExample