使用 SignalR 在服务器(asp mvc 框架 4.5)和客户端(具有框架 3.5 的控制台应用)之间进行通信



我有一个在 4.5 框架中运行的 ASP MVC 应用程序 此应用程序应与使用 4.5 框架的其他控制台应用程序实时通信 出于这个原因,我使用SignalR 在服务器(mvc 应用程序)中,我安装了 Microsoft.AspNet.SignalR" 版本 2.1.2 在客户端(控制台应用程序)中,我安装了Microsoft.AspNet.SignalR.客户端版本="2.2.1" 这运行良好 但是,当我的客户要求控制台应用程序应在 .Net Framework 3.5 而不是 4.5 中运行时,问题就开始了

。当我尝试将控制台应用程序迁移到3.5框架时,服务器和客户端之间的通信不起作用

我创建了一个带有 3.5 框架的新控制台应用程序,我使用"Nivot.SignalR.Client.Net35"版本="2.0.0" 和服务器中的Microsoft.AspNet.SignalR - 版本 1.2.2,但我有此消息=您正在使用与服务器不兼容的客户端版本。客户端版本 1.3,服务器版本 1.2。 Source=Nivot.SignalR.Client.Net35 当我在服务器中使用包 Microsoft.AspNet.SignalR -版本 2.0.1 时,我收到以下消息:系统线程中发生了类型为"System.AggregateException"的未处理异常.dll 详细信息: TaskExceptionHolder_UnhandledException

如何解决这个问题? 是否有将 signalR 与我的配置一起使用的示例?

SignalR 至少需要 .NET Framework 4。它严重依赖于 async/await 和 .NET Framework 3.5 不支持的任务。应该可以为.NET Framework 3.5编写SignalR客户端,但这是一项艰巨的任务(特别是您必须自己管理线程)。

最新更新