AspNetWebSocket.CloseAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
发送异步消息给客户以关闭连接。 如果服务器初始化关闭连接请求,则该方法在返回前会一直等待客户端的通知。
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
取消挂起操作的对象。
返回
操作的引用。
例外
取消令牌已取消。 此异常存储在返回的任务中。
注解
可以对客户端发起的请求和服务器启动的请求使用 CloseAsync 和 CloseOutputAsync 方法来关闭 AspNetWebSocket 连接。 这两种方法以相同的方式处理客户端发起的请求:在客户端向服务器发送消息以关闭连接后,服务器调用其中一种方法并向客户端发送确认,然后该方法返回。
对于服务器启动的请求,这两种方法的工作方式不同。 方法 CloseAsync 向客户端发送消息以关闭连接,等待响应,然后返回 。 服务器不会等待客户端发送的任何其他数据。 相反, CloseOutputAsync 方法向客户端发送消息以关闭连接,并在不等待响应的情况下返回 。 方法返回后,可以调用 ReceiveAsync 方法并处理其他数据或客户端发送的确认。