SignalR 版本兼容性(StatusCode:405 'Method Not Allowed')

SignalR version compatability (StatusCode: 405 'Method Not Allowed')

我在处理当前正在处理的 SignalR 项目时遇到问题。我正在尝试使用 .Net Core 构建服务器,并使用传统的 .Net(框架 4.6.1)构建客户端。但是服务器和客户端似乎不兼容。

我 运行 进入的最后一期是 StatusCode:405,ReasonPhrase:'Method Not Allowed'。我在 GitHub 上找到了一个答案,其中指出版本之间存在许多重大变化。

查看可用的 NuGet 包版本,我变得更加困惑。对于 .Net Core 服务器,我使用的是 1.0.0-preview1-final。还有一个 1.0.0-alpha2-final 可用,但我不知道 'alpha' 比 'preview'.

更新还是更旧

在客户端,我使用的是 2.2.2 版本,有多种版本可供选择,我尝试了最旧的和最新的版本,但两个版本都给我相同的 "method not allowed" 错误。

错误在客户端,在服务器端,我的断点都没有命中,所以也可能是Owin/iis问题。

是否有任何图表可以映射 SignalR 客户端和服务器版本兼容性?我想这将是向前迈出的一大步。

您不能将 .NET Core 1.x 与旧客户端(1.x 或 2.x)混合使用。您将需要决定哪个是最适合您的选项,但您需要在客户端和服务器上实施相同的兼容版本。

查看 link 了解更多详情,但本质上:

What’s Changed?

We added a number of new features to SignalR for ASP.NET Core but we also decided to remove support for some of the existing features or change how they work. One of the consequences of this is that SignalR for ASP.NET Core is not compatible with previous versions of SignalR. This means that you cannot use the old server with the new clients or the old clients with the new server.