从代码隐藏的访问信号器集线器类方法

时间:2013-04-25 14:58:15

标签: c# asp.net signalr code-behind

是否可以从webforms页面后面的代码执行在signalr hub中声明的公共方法?

我找到了如何使用

从后面的代码向客户端发送消息的示例
var context = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();

context.Clients.All.exampleMethod();

但我想访问集线器中的公共方法,例如,从ConcurrentDictionary或数据表中返回与用户关联的一组客户端ID。

是否有人知道这是否可能,如果有,如何在没有广播的情况下解决这个问题 给客户的消息然后再回来。

1 个答案:

答案 0 :(得分:0)

您应该在连接时注册客户端连接ID。一旦你有了这个id;您可以使用

向该客户发送消息
var context = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();
context.Clients[connectionid].exampleMethod();

请原谅我,如果我没有100%正确,但我在火车上

此链接应该为您提供一些帮助...... http://www.tugberkugurlu.com/archive/mapping-asp-net-signalr-connections-to-real-application-users