如何在hubpipleline之外使用SignalR hub实例

我正在使用SignalR向所有客户端广播消息。 我需要触发我的集线器类以外的广播,如下所示:

var broadcast = new chatHub(); broadcast.Send("Admin","stop the chat");

我收到错误消息:

使用不是由HubPipeline创build的Hub实例不受支持。

你需要使用GetHubContext

 var context = GlobalHost.ConnectionManager.GetHubContext<chatHub>(); context.Clients.All.Send("Admin", "stop the chat"); 

这在http://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-server#callfromoutsidehub中有更详细的描述。;