在IIS

时间:2018-05-31 12:44:12

标签: asp.net-core signalr aspnetboilerplate

我的环境

  • .NetCore SDk - 2.1.300
  • Microsoft.AspNetCore.SignalR - 1.0.0
  • IIS - Window Server 2016中的版本10.0.12393.0

AspNetCore.SignalR

的示例代码

AspNetCore.SignalR

的Abp
  • 我从ABP网站下载ABP模板代码
  • 将.net核心sdk升级到.net核心2.1
  • 升级nuget包
  • 按照上面的步骤在项目中添加示例AspNetCore.SignalR聊天代码。
  • 在visual studio中成功运行

问题是,当我将它发布到服务器(与我上面的服务器相同)并运行它时,它会抛出一个错误 - AspNetCore.SignalR.HubConnectionContext - 连接握手失败。

我有研究,但没有得到任何解决方案。你能帮忙看看它是什么问题吗?

我已将我的项目推送到github:https://github.com/lcyhjx/AbpExample,您可以拉动并运行它(运行AbpExample.Web.Host )。它在Visual Studio中工作正常,但在IIS中失败。

错误明细:

  • 信息:正常化' / chatHub'到' http://localhost:6011/chatHub'。
  • 信息:WebSocket连接到ws:// localhost:6011 / chatHub?id = 2zix_nPHODwLEv2p_4VCAw'
  • 错误:连接断开连接错误'错误:服务器返回握手错误:连接握手期间发生意外错误。'。

enter image description here

2 个答案:

答案 0 :(得分:3)

我已经解决了这个问题。这是一个代码问题,在我设置的代码中

HandshakeTimeout = TimeSpan.MaxValue;

如果我评论上面的代码,那么VS和IIS都可以正常工作。

答案 1 :(得分:0)

这里相同,但有点不同:我在 Rider 中运行服务器,一切正常。我把它放在另一个目录中,但我有握手错误。删除握手超时,它在任何地方都有效。