AspNetWebSocket.CloseOutputAsync 方法

定义

发送异步消息给客户以关闭连接。 若服务器初始化了关闭连接请求,则该方法不会等待响应,直接返回。

public:
 override System::Threading::Tasks::Task ^ CloseOutputAsync(System::Net::WebSockets::WebSocketCloseStatus closeStatus, System::String ^ statusDescription, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task CloseOutputAsync (System.Net.WebSockets.WebSocketCloseStatus closeStatus, string statusDescription, System.Threading.CancellationToken cancellationToken);
override this.CloseOutputAsync : System.Net.WebSockets.WebSocketCloseStatus * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function CloseOutputAsync (closeStatus As WebSocketCloseStatus, statusDescription As String, cancellationToken As CancellationToken) As Task

参数

closeStatus
WebSocketCloseStatus

关闭操作的状态代码。

statusDescription
String

关闭操作的状态消息。

cancellationToken
CancellationToken

取消挂起操作的对象。

返回

操作的引用。

例外

对象已释放。

AspNetWebSocket 对象处于中止状态。

- 或 -

发送操作不可用。

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

注解

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

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

适用于