gpt4 book ai didi

javascript - SignalR Client 开始连接时如何设置用户?

转载 作者:数据小太阳 更新时间:2023-10-29 04:36:50 27 4
gpt4 key购买 nike

服务器端:

public override Task OnConnected()
{
var connectionId = Context.ConnectionId;
var user = Context.User.Identity.Name; // Context.User is NULL
return base.OnConnected();
}

客户端(在控制台项目中):

IHubProxy _hub;
string url = @"http://localhost:8080/";
var connection = new HubConnection(url);
_hub = connection.CreateHubProxy("TestHub");
connection.Start().Wait();

当客户端连接到服务器时,我想知道userName和connectionId之间的映射,但是Context.User是NULL。我如何在客户端设置这个值?

最佳答案

asp.netcore 2.1 中使用 queryString 试试这个:

客户端(javascript)在 url 之后设置查询字符串,如下所示:

var connection = new signalR.HubConnectionBuilder().withUrl("http://localhost:10499/chathub?username=xxxx").build();
connection.start().then(function ()
{
// do some thing here ...
}).catch(function (err)
{
console.error(err.toString());
});
.
.
.

服务器

public override Task OnConnectedAsync()
{
var username = Context.GetHttpContext().Request.Query["username"];
// username = xxxx
return base.OnConnectedAsync();
}

关于javascript - SignalR Client 开始连接时如何设置用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29509396/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com