語言

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 and CloseOutputAsync 方法來處理客戶端發起和伺服器發起的請求來關閉 AspNetWebSocket 連線。 這兩種方法處理客戶端發起的請求方式相同:客戶端向伺服器發送訊息以關閉連線後,伺服器會呼叫其中一種方法並向客戶端發送確認,然後該方法返回。

對於伺服器發起的請求,這兩種方法的運作方式不同。 該 CloseAsync 方法會向用戶端發送訊息關閉連線,等待回應後再返回。 伺服器不會等待客戶端傳送的任何額外資料。 相較之下,該 CloseOutputAsync 方法會發送訊息給用戶端關閉連線,然後在不等待回應的情況下返回。 方法回傳後,你可以呼叫該 ReceiveAsync 方法,處理額外資料或客戶端傳送的確認。

適用於