SignalR和多个服务器实例

时间:2014-03-10 12:30:29

标签: asp.net-mvc-4 azure signalr multiple-instances

今天我的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://someIPAddresshttp://otherIPAddress,并且客户应该感觉和相同。

问题是,在这种情况下如何使用SignalR?有多个集线器

我想它类似于以下内容:

  public ActionResult SomeAction(...) 
  {
     // Stuff happenning here...
     // ...

     // Push notify
     foreach (var hub ....)  // <-- This!
           hubContext.Clients.Group("SomeGroup").pushSomething();
  }

但我不确定。

其他信息:此应用程序在Windows Azure中运行,“实例”将由“Azure网站实例数”定义

0 个答案:

没有答案