Kończenie sesji protokołu SOAP
Ta funkcja zostanie usunięta z przyszłej wersji programu Microsoft SQL Server. Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.
Aby zakończyć sesja, należy określić żądanie sqlSession nagłówka zarówno sessionId i Zakończenie zestaw atrybutów.SessionId należy zidentyfikować znanych sesja czy serwer, który jest w stanie dostępne na serwerze i Zakończenie atrybut musi być zestaw na wartość true.
W przypadku żadnej sesja istniejących z określonym Identyfikatorem, zwracany jest błąd protokołu SOAP z Zakończenie atrybut w sqlSession nagłówka.
Jeśli żądanie jest wykonywane w innym kontekście zabezpieczeń lub punkt końcowy niż ta, która zainicjowała sesję, zwracany jest błąd protokołu SOAP i sesja pozostaje niezmienione.
Gdy jawnie zakończony, nie nowe żądania są akceptowane w sesja.Sesja jest zamknięta po zakończeniu ostatniej partia w trakcie sesji.Nie jest tej samej partia w sesja, które faktycznie zażądano zwolnienia.
Przykłady
Poniższy przykład pokazuje, kończenie sesja protokołu SOAP.Do zakończenia sesja, klient protokołu SOAP wysyła żądanie takie jak następujące znane i prawidłowego sessionId wartość atrybut zestaw i Zakończenie z wartością atrybut true:
<SOAP-ENV:Header
xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
<!-- enlist in an existing session, and terminate it -->
<sqloptions:sqlSession terminate="true" sessionId="AAAAADreaLE="/>
</SOAP-ENV:Header>
Żądania do zakończenia sesja może być pusta lub mieć treści wiadomości.Jeżeli organ, nagłówek zakończenie przetwarzania i potwierdzony, niezależnie od błędów występujących na wykonanie metoda.
Serwer zwraca potwierdzenia, na przykład następujące polecenie, aby wskazać sesja została zakończona.
<SOAP-ENV:Header
xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
<!-- response to terminating an existing session -->
<sqloptions:sqlSession terminate="true" sessionId="AAAAADreaLE="/>
</SOAP-ENV:Header>
Aby ukończyć zakończenie, klienci mają się zazwyczaj do skanowania dla potwierdzenia odpowiedzi z serwera.Jeśli potwierdzenia nie otrzymano u klienta w ciągu rozsądnego okresu czas, klient powinien ponów żądanie zakończenia.