Как отправить параметр / запрос в HubConnection SignalR Core

Я пытаюсь добавить параметр в подключение к signalr.

Я использую Builder для создания своего клиентского подключения и запуска его:

var connection = new HubConnectionBuilder()
        .WithUrl("http://10.0.2.162:5002/connection")
        .WithConsoleLogger()
        .WithMessagePackProtocol()
        .WithTransport(TransportType.WebSockets)
        .Build();

await connection.StartAsync();

Я хочу отправить в этой связи простой параметр: Что-то вроде:

«Токен»: «123»

На моей стороне сервера я думаю, что могу взять этот параметр из HttpContext:

public override Task OnConnectedAsync()
{
    var httpContext = Context.Connection.GetHttpContext();
    var token = httpContext.Request.Query["Token"];
    return base.OnConnectedAsync();
}

Есть идеи, как отправить этот параметр? Спасибо.


person Pedro Franco    schedule 28.02.2018    source источник


Ответы (1)


Я нашел, как это сделать после долгих исследований:

В моей сборке я просто отправляю токен из URL-адреса. Нравится:

var connection = new HubConnectionBuilder()
        .WithUrl($"http://10.0.2.162:5002/connection?token={token}")
        .WithConsoleLogger()
        .WithMessagePackProtocol()
        .WithTransport(TransportType.WebSockets)
        .Build();
person Pedro Franco    schedule 01.03.2018
comment
Работает как шарм :). Спасибо. - person user1337; 29.01.2019
comment
вам нужно внести какие-либо изменения в сопоставление конечных точек для MessageHub на сервере? Я получаю ответ 400 - person waxingsatirical; 11.08.2020