今天我的Web应用程序(ASP.NET MVC4)只运行一次(1个实例) 如果某个动作需要向所有客户推送,我会这样做:
public ActionResult SomeAction(...)
{
// Stuff happenning here...
// ...
// Push notify
var hubContext = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
hubContext.Clients.Group("SomeGroup").pushSomething();
}
现在我的Web应用程序需要在多个实例中运行,并使用负载均衡器将用户重定向到同一应用程序的不同实例。
客户端可能正在使用http://someIPAddress
或http://otherIPAddress
,并且客户应该感觉和相同。
问题是,在这种情况下如何使用SignalR?有多个集线器
我想它类似于以下内容:
public ActionResult SomeAction(...)
{
// Stuff happenning here...
// ...
// Push notify
foreach (var hub ....) // <-- This!
hubContext.Clients.Group("SomeGroup").pushSomething();
}
但我不确定。
其他信息:此应用程序在Windows Azure中运行,“实例”将由“Azure网站实例数”定义