AspNetWebSocket.CloseAsync(WebSocketCloseStatus, String, CancellationToken) Method

Definition

Invia un messaggio asincrono a un client per chiudere la connessione.Sends an asynchronous message to a client to close the connection. Se il server avvia la richiesta di chiusura della connessione, il metodo rimane in attesa che il client riconosca la richiesta prima di restituire un risultato.If the server initiates the request to close the connection, the method waits for the client to acknowledge the request before it returns.

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

Parameters

closeStatus
WebSocketCloseStatus

Codice di stato dell'operazione di chiusura.The status code of the close operation.

statusDescription
String

Messaggio di stato dell'operazione di chiusura.The status message of the close operation.

cancellationToken
CancellationToken

Oggetto che annulla un'operazione in sospeso.The object that cancels a pending operation.

Returns

Task

Riferimento all'operazione.A reference to the operation.

Exceptions

L'oggetto AspNetWebSocket è già stato eliminato.The AspNetWebSocket object was previously disposed.

L'oggetto AspNetWebSocket si trova in uno stato interrotto.The AspNetWebSocket object is in an aborted state.

-oppure--or- Operazioni di invio non disponibili.Sending operations are unavailable.

-oppure--or- Operazioni di ricezione non disponibili.Receiving operations are unavailable.

Remarks

Per chiudere una connessione AspNetWebSocket, è possibile utilizzare i metodi CloseAsync e CloseOutputAsync per le richieste avviate dal client e avviate dal server.You can use the CloseAsync and CloseOutputAsync methods for both client-initiated and server-initiated requests to close an AspNetWebSocket connection. I due metodi gestiscono le richieste avviate dal client nello stesso modo: dopo che il client invia un messaggio al server per chiudere la connessione, il server chiama uno di questi metodi e invia un riconoscimento al client, quindi il metodo restituisce.The two methods handle client-initiated requests in the same way: After the client sends a message to the server to close the connection, the server calls one of these methods and sends an acknowledgment to the client, and then the method returns.

Per le richieste avviate dal server, i due metodi funzionano in modo diverso.For server-initiated requests, the two methods work differently. Il metodo CloseAsync Invia un messaggio al client per chiudere la connessione, attende una risposta e quindi restituisce.The CloseAsync method sends a message to the client to close the connection, waits for a response, and then returns. Il server non attende alcun dato aggiuntivo inviato dal client.The server does not wait for any additional data sent by the client. Al contrario, il metodo CloseOutputAsync Invia un messaggio al client per chiudere la connessione e restituisce senza attendere una risposta.In contrast, the CloseOutputAsync method sends a message to the client to close the connection and returns without waiting for a response. Una volta restituito il metodo, è possibile chiamare il metodo ReceiveAsync e gestire dati aggiuntivi o il riconoscimento inviato dal client.After the method returns, you can call the ReceiveAsync method and handle either additional data or the acknowledgment that the client sends.

Applies to