AspNetWebSocket.CloseAsync Método

Definición

Envía un mensaje asincrónico a un cliente para cerrar la conexión. Si el servidor inicia la solicitud para cerrar la conexión, el método espera a que el cliente confirme la solicitud antes de volver.

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

Código de estado de la operación de cierre.

statusDescription
String

Mensaje de estado de la operación de cierre.

cancellationToken
CancellationToken

Objeto que cancela una operación pendiente.

Devoluciones

Referencia a la operación.

Excepciones

El objeto AspNetWebSocket se había desechado anteriormente.

El objeto AspNetWebSocket es encuentra en un estado de anulación.

o bien

Las operaciones de envío no están disponibles.

o bien

Las operaciones de recepción no están disponibles.

Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.

Comentarios

Puede usar los CloseAsync métodos y CloseOutputAsync para las solicitudes iniciadas por el cliente y iniciadas por el servidor para cerrar una AspNetWebSocket conexión. Los dos métodos controlan las solicitudes iniciadas por el cliente de la misma manera: después de que el cliente envíe un mensaje al servidor para cerrar la conexión, el servidor llama a uno de estos métodos y envía una confirmación al cliente y, a continuación, el método devuelve.

En el caso de las solicitudes iniciadas por el servidor, los dos métodos funcionan de forma diferente. El CloseAsync método envía un mensaje al cliente para cerrar la conexión, espera una respuesta y, a continuación, devuelve. El servidor no espera ningún dato adicional enviado por el cliente. En cambio, el CloseOutputAsync método envía un mensaje al cliente para cerrar la conexión y devuelve sin esperar una respuesta. Una vez devuelto el método, puede llamar al ReceiveAsync método y controlar datos adicionales o la confirmación que envía el cliente.

Se aplica a