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

时间:2018-03-07 12:54:05

标签: signalr version signalr-hub signalr.client asp.net-core-signalr

我目前正在处理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;#'比预览更新或更旧。

在客户端,我使用的是版本2.2.2,并且有各种版本可供选择,我尝试了最旧和最新版本,但两个版本都给了我相同的"方法不允许& #34;错误。

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

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

1 个答案:

答案 0 :(得分:6)

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

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

  

改变了什么?

     

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