Поделиться через


AspNetWebSocket.CloseOutputAsync Метод

Определение

Отправляет асинхронное сообщение клиенту, чтобы закрыть соединение. Если сервер инициирует запрос на закрытие соединения, метод возвращает управление, не дожидаясь отклика.

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

Параметры

closeStatus
WebSocketCloseStatus

Код состояния операции закрытия.

statusDescription
String

Сообщение о состоянии операции закрытия.

cancellationToken
CancellationToken

Объект, отменяющий ожидающую операцию.

Возвращаемое значение

Ссылка на операцию.

Исключения

Объект ранее был удален.

Объект AspNetWebSocket находится в состоянии завершения.

-или-

Операции отправки недоступны.

Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.

Комментарии

Чтобы закрыть подключение, можно использовать CloseAsync методы и CloseOutputAsync для запросов, инициированных клиентом и сервером AspNetWebSocket . Эти два метода обрабатывают инициированные клиентом запросы одинаково: после того, как клиент отправляет серверу сообщение о закрытии подключения, сервер вызывает один из этих методов и отправляет подтверждение клиенту, а затем метод возвращается.

Для запросов, инициированных сервером, эти два метода работают по-разному. Метод CloseAsync отправляет клиенту сообщение о закрытии подключения, ожидает ответа, а затем возвращает . Сервер не ожидает дополнительных данных, отправленных клиентом. В отличие от этого, CloseOutputAsync метод отправляет клиенту сообщение о закрытии подключения и возвращается без ожидания ответа. После возврата метода можно вызвать ReceiveAsync метод и обработать либо дополнительные данные, либо подтверждение, которое отправляет клиент.

Применяется к