我正在使用Signalr 2.4广播游戏循环。我的信号器中心有一个广播台的公共静态列表,如下所示:public static readonly ConcurrentDictionary<string, CribbageBroadcaster> _cribbageBroadcasters = new ConcurrentDictionary<string, CribbageBroadcaster>();
在我将应用程序部署到共享主机提供商后,我遇到了一些奇怪的问题。我有两种方法来尝试获取广播公司的数量。在我的控制器中,我得到这样的计数:
public ActionResult Index(DataSourceRequest dsr)
{
var viewModel = new HomePageViewModel();
viewModel.Standings = _standingsListFactory.CreateStandings(dsr);
viewModel.GamesBeingPlayed = CribbageHub._cribbageBroadcasters.Count;
return View(viewModel);
}
我使用javascript调用的集线器本身的另一种方法:
public int GetGameCount()
{
return _cribbageBroadcasters.Count;
}
我使用多个浏览器在本地测试了这些方法,并且效果很好,并且都返回了预期的游戏数量。但是,一旦我部署了代码,有时一个方法将发挥作用,而另一种方法将不起作用。其他时候,当我知道应该有一个1时,两者都会说0。而其他时候,它将显示正确的计数。每次刷新页面时,结果都是不同的。我不知道是什么原因造成的。任何帮助将不胜感激。