c# - 如何在 HubConnection SignalR Core 中发送参数/查询

标签 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();

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

“代币”:“123”

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

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

知道如何发送这个参数吗? 谢谢。

最佳答案

经过大量研究,我找到了如何做到这一点:

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

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

关于c# - 如何在 HubConnection SignalR Core 中发送参数/查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49038762/

相关文章:

c# - 实例化之后是赋值编译,但是

c# - 为什么 C# 不支持 Protected 和 Internal 可访问性的交集?

c# - SignalR 强类型集线器 TypeLoadException

asp.net-core - SignalR - 调用组的成员不起作用

c# - 从另一个对象中获取 SignalR Core 中的 Hub 上下文

C# 和线程 - 如果我使用 const,锁会起作用吗?

c# - 为什么我不能数据绑定(bind)到一个字段?

c# - 如果用户离开网站,SignalR 是否会调用 OnDisconnected

带有 MessagePack 的 SignalR .Net 客户端 - IHubConnectionBuilder 中无法识别 AddMessagePackProtocol 方法

asp.net-core - ASP.NET Core SignalR Redis背板