首页 文章

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

提问于
浏览
6

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

最后一个问题我've run into is a StatusCode: 405, ReasonPhrase: '方法不允许' . 我在GitHub上找到了一个答案,表明版本之间存在许多重大变化 .

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

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

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

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

1 回答

  • 6

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

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

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

相关问题