AspNetWebSocket.CloseAsync Método

Definição

Envia uma mensagem assíncrona a um cliente para encerrar a ligação. Se o servidor iniciar o pedido para encerrar a ligação, o método espera que o cliente reconheça o pedido antes de este regressar.

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

Parâmetros

closeStatus
WebSocketCloseStatus

O código de estado da operação fechada.

statusDescription
String

A mensagem de estado da operação fechada.

cancellationToken
CancellationToken

O objeto que cancela uma operação pendente.

Devoluções

Uma referência à operação.

Exceções

O AspNetWebSocket objeto já tinha sido descartado.

O AspNetWebSocket objeto está num estado abortado.

-ou-

As operações de envio não estão disponíveis.

-ou-

As operações de receção não estão disponíveis.

O token de cancelamento foi cancelado. Esta exceção é armazenada na tarefa devolvida.

Observações

Podes usar os CloseAsync métodos e CloseOutputAsync tanto para pedidos iniciados pelo cliente como pelo servidor para fechar uma AspNetWebSocket ligação. Os dois métodos tratam os pedidos iniciados pelo cliente da mesma forma: depois de o cliente enviar uma mensagem ao servidor para encerrar a ligação, o servidor chama um destes métodos e envia um confirmante ao cliente, e depois o método retorna.

Para pedidos iniciados pelo servidor, os dois métodos funcionam de forma diferente. O CloseAsync método envia uma mensagem ao cliente para encerrar a ligação, espera por uma resposta e depois retorna. O servidor não espera por quaisquer dados adicionais enviados pelo cliente. Em contraste, o CloseOutputAsync método envia uma mensagem ao cliente para encerrar a ligação e retorna sem esperar resposta. Após o retorno do método, pode chamá-lo ReceiveAsync e tratar de dados adicionais ou do reconhecimento que o cliente envia.

Aplica-se a