Microsoft.AspNetCore.SignalR.WebSockets.WebSocketHandler.SendAsync C# (CSharp) Method

SendAsync() public method

public SendAsync ( ArraySegment message, WebSocketMessageType messageType, bool endOfMessage = true ) : Task
message ArraySegment
messageType WebSocketMessageType
endOfMessage bool
return Task
        public virtual Task SendAsync(ArraySegment<byte> message, WebSocketMessageType messageType, bool endOfMessage = true)
        {
            if (GetWebSocketState(WebSocket) != WebSocketState.Open)
            {
                return TaskAsyncHelper.Empty;
            }

            var sendContext = new SendContext(this, message, messageType, endOfMessage);

            return _sendQueue.Enqueue(async state =>
            {
                var context = (SendContext)state;

                if (GetWebSocketState(context.Handler.WebSocket) != WebSocketState.Open)
                {
                    return;
                }

                try
                {
                    await context.Handler.WebSocket
                          .SendAsync(context.Message, context.MessageType, context.EndOfMessage, CancellationToken.None)
                          .PreserveCulture();
                }
                catch (Exception ex)
                {
                    // Swallow exceptions on send
                    _logger.LogError("Error while sending: " + ex);
                }
            },
            sendContext);
        }

Same methods

WebSocketHandler::SendAsync ( string message ) : Task