如何在HubConnection SignalR核心中发送参数/查询

时间:2018-02-28 21:21:02

标签: c# signalr-hub asp.net-core-signalr

我试图将参数添加到信号器的连接中。

我使用Builder创建客户端连接并启动它:

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

await connection.StartAsync();

我想在此连接中发送一个简单的参数: 喜欢的东西:

" Token":" 123"

在我的服务器端,我想我可以从HttpContext中获取此参数:

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

有关如何发送此参数的任何想法? 感谢。

1 个答案:

答案 0 :(得分:15)

我经过多次研究后发现了如何做到这一点:

在我的构建中,我只是从url连接发送令牌。 像这样:

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