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 物件處於中止狀態。

-或-

傳送作業無法使用。

-或-

接收作業無法使用。

取消權杖已取消。 此例外狀況會儲存在傳回的工作中。

備註

您可以將 CloseAsyncCloseOutputAsync 方法用於用戶端起始和伺服器起始的要求,以關閉 AspNetWebSocket 連線。 這兩種方法會以相同方式處理用戶端起始的要求:在用戶端傳送訊息至伺服器以關閉連線之後,伺服器會呼叫其中一種方法,並將通知傳送給用戶端,然後傳回 方法。

對於伺服器起始的要求,這兩種方法的運作方式不同。 方法 CloseAsync 會將訊息傳送給用戶端以關閉連線、等候回應,然後傳回 。 伺服器不會等候用戶端傳送的任何其他資料。 相反地,方法會將 CloseOutputAsync 訊息傳送給用戶端以關閉連線,並在不等待回應的情況下傳回 。 方法傳回之後,您可以呼叫 ReceiveAsync 方法,並處理用戶端傳送的其他資料或通知。

適用於