public override Task CloseOutputAsync(WebSocketCloseStatus closeStatus, string statusDescription, CancellationToken cancellationToken)
{
WebSocketValidate.ValidateCloseStatus(closeStatus, statusDescription);
try
{
ClientWebSocket.ThrowIfInvalidState(_state, _disposed, s_validCloseOutputStates);
}
catch (Exception exc)
{
return Task.FromException(exc);
}
return SendCloseFrameAsync(closeStatus, statusDescription, cancellationToken);
}