SignalR版本兼容性(StatusCode:405'方法不允许')

Lou*_*ers 6 version signalr signalr-hub signalr.client asp.net-core-signalr

我正在处理我正在研究的S​​ignalR项目的问题.我正在尝试使用.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版本,并且有各种版本可供选择,我尝试了最旧和最新版本,但两个版本都给了我相同的"方法不允许"错误.

错误是在客户端,在服务器端,我的断点甚至没有被击中,所以它也可能是一个Owin/iis问题.

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

Fra*_*k M 6

您不能将.NET Core 1.x与旧客户端(1.x或2.x)混合使用.您需要确定哪个是最佳选择,但您需要在CLIENT和SERVER之间实现相同的兼容版本.

查看链接以获取更多详细信息,但基本上

什么改变了?

我们为SignalR for ASP.NET Core添加了许多新功能,但我们还决定删除对某些现有功能的支持或更改它们的工作方式.其中一个后果是,用于ASP.NET Core的SignalR与以前版本的SignalR不兼容. 这意味着您不能将旧服务器与新客户端一起使用,也不能将旧客户端与新服务器一起使用.

  • 我认为他们的GitHub页面(https://github.com/aspnet/SignalR)澄清了它在包下的状态:注意:用于JavaScript的SignalR客户端库的先前预览被命名为@ aspnet/signalr-client.从预览1开始,这已被弃用. (2认同)