我当前正在处理的 SignalR 项目遇到问题。我正在尝试使用 .Net Core 构建服务器,并使用传统 .Net (框架 4.6.1)构建客户端。但是服务器和客户端似乎不兼容。
我遇到的最后一个问题是 StatusCode:405,ReasonPhrase:“不允许使用方法”。我找到了答案GitHub https://github.com/aspnet/SignalR/issues/1217这表明版本之间存在许多重大更改。
看看可用的 NuGet 包版本,我更加困惑了。对于 .Net Core 服务器,我使用 1.0.0-preview1-final。还有一个 1.0.0-alpha2-final 可用,但我不知道“alpha”是比“预览版”新还是旧。
在客户端,我使用的是 2.2.2 版本,有很多版本可供选择,我尝试了最旧的和最新的,但两个版本都给了我相同的“方法不允许”错误。
错误在客户端,在服务器端,我的断点甚至没有命中,所以它也可能是 Owin/iis 问题。
是否有任何图表可以映射 SignalR 客户端和服务器版本兼容性?我想这将是向前迈出的一大步。
您不能将 .NET Core 1.x 与旧版客户端(1.x 或 2.x)混合使用。您需要决定哪个是最适合您的选择,但您需要在客户端和服务器之间实现相同的兼容版本。
检查link https://blogs.msdn.microsoft.com/webdev/2017/09/14/announcing-signalr-for-asp-net-core-2-0/了解更多详细信息,但本质上是:
发生了什么变化?
我们为 ASP.NET Core 的 SignalR 添加了许多新功能,但我们
还决定删除对某些现有功能的支持或
改变他们的工作方式。这样做的后果之一是 SignalR
ASP.NET Core 与 SignalR 的早期版本不兼容。这意味着您不能将旧服务器与新客户端一起使用,也不能将旧客户端与新服务器一起使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)