2012 年更新:这个答案也很旧!SignalR 的公共 API 似乎在不断变化。截至 2012 年 7 月,Tim B James 拥有新的、正确的 API 用法。
更新 2019不再使用此答案。在 AspNetCore 上工作的 SignalR 的新版本应参考 Tim B James 接受的答案,或其他投票赞成的答案。为了历史,我把这个答案留在这里。
Mike 当前接受的答案是旧的,不再适用于最新版本的 SignalR。
这是一个更新版本,显示了如何从 MVC 控制器操作向集线器发布消息:
public ActionResult MyControllerMethod()
{
// Important: .Resolve is an extension method inside SignalR.Infrastructure namespace.
var connectionManager = AspNetHost.DependencyResolver.Resolve<IConnectionManager>();
var clients = connectionManager.GetClients<MyHub>();
// Broadcast to all clients.
clients.MethodOnTheJavascript("Good news!");
// Broadcast only to clients in a group.
clients["someGroupName"].MethodOnTheJavascript("Hello, some group!");
// Broadcast only to a particular client.
clients["someConnectionId"].MethodOnTheJavascript("Hello, particular client!");
}