AspNetWebSocket.CloseAsync Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Отправляет асинхронное сообщение клиенту, чтобы закрыть соединение. Если сервер инициирует запрос на закрытие соединения, метод ожидает от клиента подтверждения запроса, прежде чем возвратить управление.
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
Параметры
- closeStatus
- WebSocketCloseStatus
Код состояния операции закрытия.
- statusDescription
- String
Сообщение о состоянии операции закрытия.
- cancellationToken
- CancellationToken
Объект, отменяющий ожидающую операцию.
Возвращаемое значение
Ссылка на операцию.
Исключения
Объект AspNetWebSocket ранее был удален.
Объект AspNetWebSocket находится в состоянии завершения.
-или-
Операции отправки недоступны.
-или-
Операции получения недоступны.
Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.
Комментарии
Чтобы закрыть подключение, можно использовать CloseAsync методы и CloseOutputAsync для запросов, инициированных клиентом и сервером AspNetWebSocket . Эти два метода обрабатывают инициированные клиентом запросы одинаково: после того, как клиент отправляет серверу сообщение о закрытии подключения, сервер вызывает один из этих методов и отправляет подтверждение клиенту, а затем метод возвращается.
Для запросов, инициированных сервером, эти два метода работают по-разному. Метод CloseAsync отправляет клиенту сообщение о закрытии подключения, ожидает ответа, а затем возвращает . Сервер не ожидает дополнительных данных, отправленных клиентом. В отличие от этого, CloseOutputAsync метод отправляет клиенту сообщение о закрытии подключения и возвращается без ожидания ответа. После возврата метода можно вызвать ReceiveAsync метод и обработать либо дополнительные данные, либо подтверждение, которое отправляет клиент.