Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 信号RV2-将值传递到集线器_Asp.net_Signalr_Signalr Hub - Fatal编程技术网

Asp.net 信号RV2-将值传递到集线器

Asp.net 信号RV2-将值传递到集线器,asp.net,signalr,signalr-hub,Asp.net,Signalr,Signalr Hub,我会尽力解释的。在我的Hub代码中,我实例化了ConnectionMapping类。它是从这里拿走的 此连接映射需要其字典的唯一键。我有一个名为default.aspx.cs的网络表单代码。在这段代码中,我将在页面加载事件中获得一个唯一的登录用户名。如何将此用户名传递到中心以将其添加到连接映射中 我试过了 IHubContext hubContext = GlobalHost.ConnectionManager.GetHubContext<MyHub>(); IHubContext

我会尽力解释的。在我的Hub代码中,我实例化了ConnectionMapping类。它是从这里拿走的

此连接映射需要其字典的唯一键。我有一个名为default.aspx.cs的网络表单代码。在这段代码中,我将在页面加载事件中获得一个唯一的登录用户名。如何将此用户名传递到中心以将其添加到连接映射中

我试过了

IHubContext hubContext = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
IHubContext-hubContext=GlobalHost.ConnectionManager.GetHubContext();

但是我不知道做了这件事之后我在做什么。帮助。

简而言之,你没有。不是用你的代码。问题在于这一顺序:

  • 客户端请求页面
  • 服务器端代码运行(
    页面加载
  • 生成的HTML/JS被发送到客户端
  • 客户端连接到信号器
此时,您可能会添加到
连接映射
。当然,问题是,
Page\u Load
中的任何数据/变量都不再可用,并且您将无法将刚刚收到的连接映射到该页面请求,即使它们是可用的

您的网站需要保留一些信息,可能是用户名,并在连接时将其传递给中心(可能通过查询字符串)。数据甚至可以作为
page\u Load
事件的一部分存储在页面中(在隐藏的div中或通过其他机制)

现在您同时拥有了这两条信息,并且可以正常地添加到映射中