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 对象处于中止状态。

- 或 -

发送操作不可用。

- 或 -

接收操作不可用。

取消令牌已取消。 此异常存储在返回的任务中。

注解

可以对客户端发起的请求和服务器启动的请求使用 CloseAsyncCloseOutputAsync 方法来关闭 AspNetWebSocket 连接。 这两种方法以相同的方式处理客户端发起的请求:在客户端向服务器发送消息以关闭连接后,服务器调用其中一种方法并向客户端发送确认,然后该方法返回。

对于服务器启动的请求,这两种方法的工作方式不同。 方法 CloseAsync 向客户端发送消息以关闭连接,等待响应,然后返回 。 服务器不会等待客户端发送的任何其他数据。 相反, CloseOutputAsync 方法向客户端发送消息以关闭连接,并在不等待响应的情况下返回 。 方法返回后,可以调用 ReceiveAsync 方法并处理其他数据或客户端发送的确认。

适用于