在我的项目中,SignalR 工作正常。但是由于在 Web Farm 中引入了负载平衡,我打算按照这篇文章使用 Backplane 和 SQL:http ://www.asp.net/signalr/overview/performance/scaleout-with-sql-server 。
如果我使用 Microsoft.AspNet.SignalR 和 Microsoft.AspNet.SignalR.SqlServer 的最新软件包(版本 2.2.0)并选择 4.5 .Net framework,背板工作正常。但是,由于某些原因,我需要坚持使用 .Net 4.0 版本而不使用 Owin。当我安装版本为 1.1.4 或 1.2.2 的 Microsoft.AspNet.SignalR 和 Microsoft.AspNet.SignalR.SqlServer 包并使用 .Net 4.0 时,SignalR 似乎工作正常,但背板(使用 SQL)似乎没有要开始了,因为数据库中没有创建表。如果我启用跟踪,则没有跟踪文件。仅生成与传输相关的跟踪文件。我在 global.asax.cs 中使用以下代码:
// Signalr connection string
var signalRConnectionstring = ConfigurationManager.ConnectionStrings["SignalR"].ToString();
GlobalHost.DependencyResolver.UseSqlServer(signalRConnectionstring);
// Register the default hubs route: ~/signalr
RouteTable.Routes.MapHubs();