【问题标题】:acess signalr hub class methods from code behind从后面的代码访问信号器集线器类方法
【发布时间】:2013-04-25 14:58:14
【问题描述】:

是否可以从 web 表单页面后面的代码执行在信号器中心中声明的公共方法?

我找到了如何使用代码从后面的代码向客户端发送消息的示例

var context = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();

context.Clients.All.exampleMethod();

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

有人知道这是否可能吗?如果可以,如何在不广播的情况下进行此操作 向客户端发送消息并再次返回。

【问题讨论】:

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


    【解决方案1】:

    您应该在连接时注册客户端连接 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

    【讨论】:

    • 我使用教程中的静态并发字典来完成此操作。我刚刚意识到,如果我创建集线器的一个实例并调用公共方法,我可以通过这种方式访问​​信息。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多