WebSocketService - закрыть соединение с reasone - PullRequest
0 голосов
/ 22 марта 2019

Я использую класс, полученный из Microsoft.ServiceModel.WebSockets. Необходимо было указать причину закрытия соединения. Но у метода Close() нет параметров с причинами закрытия. Я придумал этот метод:

public override void OnOpen()
{
        var token = WebSocketContext.Headers["token"];
        if (string.IsNullOrWhiteSpace(token))
        {     
            WebSocketContext.WebSocket
                            .CloseAsync(WebSocketCloseStatus.PolicyViolation, $"Socket token={token} is unknown - rejected!", new CancellationToken())
                            .Wait();
            return;
        }
}

Но, вопреки ожиданиям, он выкинул исключение «Вы не можете использовать объект WebSocket напрямую». Есть идеи как это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...