Udostępnij za pośrednictwem


AspNetWebSocket.CloseAsync Metoda

Definicja

Wysyła do klienta komunikat asynchroniczny, aby zamknąć połączenie. Jeśli serwer inicjuje żądanie zamknięcia połączenia, metoda czeka na potwierdzenie żądania przez klienta przed jego zwróceniem.

public:
 override System::Threading::Tasks::Task ^ CloseAsync(System::Net::WebSockets::WebSocketCloseStatus closeStatus, System::String ^ statusDescription, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task CloseAsync (System.Net.WebSockets.WebSocketCloseStatus closeStatus, string statusDescription, System.Threading.CancellationToken cancellationToken);
override this.CloseAsync : System.Net.WebSockets.WebSocketCloseStatus * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function CloseAsync (closeStatus As WebSocketCloseStatus, statusDescription As String, cancellationToken As CancellationToken) As Task

Parametry

closeStatus
WebSocketCloseStatus

Kod stanu operacji zamknięcia.

statusDescription
String

Komunikat o stanie operacji zamknięcia.

cancellationToken
CancellationToken

Obiekt, który anuluje oczekującą operację.

Zwraca

Odwołanie do operacji.

Wyjątki

AspNetWebSocket Obiekt został wcześniej usunięty.

Obiekt AspNetWebSocket jest w stanie przerwanym.

-lub-

Operacje wysyłania są niedostępne.

-lub-

Operacje odbierania są niedostępne.

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwróconym zadaniu.

Uwagi

Za pomocą metod i CloseOutputAsync można użyć CloseAsync zarówno żądań zainicjowanych przez klienta, jak i żądań zainicjowanych przez serwer, aby zamknąć AspNetWebSocket połączenie. Dwie metody obsługują żądania inicjowane przez klienta w taki sam sposób: po wysłaniu komunikatu do serwera w celu zamknięcia połączenia serwer wywołuje jedną z tych metod i wysyła potwierdzenie do klienta, a następnie metoda zwraca.

W przypadku żądań zainicjowanych przez serwer dwie metody działają inaczej. Metoda CloseAsync wysyła komunikat do klienta, aby zamknąć połączenie, czeka na odpowiedź, a następnie zwraca. Serwer nie czeka na dodatkowe dane wysyłane przez klienta. CloseOutputAsync Natomiast metoda wysyła do klienta komunikat, aby zamknąć połączenie i powrócić bez oczekiwania na odpowiedź. Po powrocie metody można wywołać metodę ReceiveAsync i obsłużyć dodatkowe dane lub potwierdzenie wysyłane przez klienta.

Dotyczy