Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 信号器背板未创建版本为1.x的表_C#_Asp.net_.net_Signalr_Signalr Backplane - Fatal编程技术网

C# 信号器背板未创建版本为1.x的表

C# 信号器背板未创建版本为1.x的表,c#,asp.net,.net,signalr,signalr-backplane,C#,Asp.net,.net,Signalr,Signalr Backplane,在我的项目中,信号员工作得很好。 但由于在Web场中引入了负载平衡,我计划在本文之后将背板与SQL结合使用: 如果我使用Microsoft.AspNet.signal的最新软件包(版本2.2.0),背板工作正常 和Microsoft.AspNet.signal.SqlServer,然后选择4.5.Net framework。然而,出于某些原因,我需要坚持使用.NET4.0版本,而不使用Owin。 当我安装Microsoft.AspNet.signal的软件包时 和Microsoft.AspNet

在我的项目中,信号员工作得很好。 但由于在Web场中引入了负载平衡,我计划在本文之后将背板与SQL结合使用:

如果我使用Microsoft.AspNet.signal的最新软件包(版本2.2.0),背板工作正常 和Microsoft.AspNet.signal.SqlServer,然后选择4.5.Net framework。然而,出于某些原因,我需要坚持使用.NET4.0版本,而不使用Owin。 当我安装Microsoft.AspNet.signal的软件包时 和Microsoft.AspNet.signal.SqlServer(版本为1.1.4或1.2.2)并与.Net 4.0配合使用时,signer似乎工作正常,但背板(使用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();

我终于找到了解决办法。这个错误使我误以为是.NET4.0的问题。 我的项目中没有引发运行时异常,因此调试没有帮助。 当我静态分析代码时,发现问题出在SQLServer for Signal的依赖项解析器上。 global.asax的下一行未解析依赖项(也未引发任何异常)

这是因为我在我的项目中使用了Unity

解决方案很简单,在解析Signal之后,必须解析Signal的SQLServer,我的项目中已经有一个自定义类。
我希望我先看到这个方向,这样会节省很多时间。

信号机核心取决于owin,所以您无法删除它。能否先安装包Microsoft.Owin-版本2.1.0,然后安装包Microsoft.Owin.Security-版本2.1.0。然后安装sql server。是否出现错误?连接字符串是否具有正确的权限?您可以使用连接字符串手动连接到sql server吗?@Erkan,Owin不是必需的SignalR@MattClark:是,我手动尝试了它正在工作的连接。请看我的答案,我终于可以找到解决办法了
GlobalHost.DependencyResolver.UseSqlServer(signalRConnectionstring);