SignalR - 从Global.asax更新客户端

时间:2012-07-31 20:03:04

标签: c# asp.net signalr

假设我和Broadcast方法一起定义了ChatHub类。

我知道如果其中一个客户端发送消息,如何向所有客户端广播消息,但是如何从Global.asax向所有客户端发送消息?

换句话说,如何从其他类访问ChatHub?

这是一个基本样本:

    public class ChatHub : Hub
    {
      public void Broadcast(String reqMessage)
      {
        Clients.broadcast(reqMessage);
      }
    }

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

自SignalR 0.5起,您可以使用GlobalHost.ConnectionManager.GetHubContext

执行此操作

示例

// get gub context
IHubContext context = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();
// broadcast to all clients in this hub
context.Clients.broadcast("Hello World");

更多信息

答案 1 :(得分:1)

使用ConnectionManager,如下所述:https://github.com/SignalR/SignalR/wiki/Hubs。 顺便说一句,你的问题很可能与this one重复。