假设我和Broadcast方法一起定义了ChatHub类。
我知道如果其中一个客户端发送消息,如何向所有客户端广播消息,但是如何从Global.asax向所有客户端发送消息?
换句话说,如何从其他类访问ChatHub?
这是一个基本样本:
public class ChatHub : Hub
{
public void Broadcast(String reqMessage)
{
Clients.broadcast(reqMessage);
}
}
非常感谢您的帮助。
答案 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重复。