在IIS下的ABP中使用AspNetCore.SignalR时失败的连接握手错误

Lak*_* Lu 7 signalr asp.net-core 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 core sdk升级到.net core 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'
  • 错误:连接已断开,错误为“错误:服务器返回了握手错误:连接握手期间发生意外错误。”。

在此处输入图片说明

Lak*_* Lu 5

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

HandshakeTimeout = TimeSpan.MaxValue;
Run Code Online (Sandbox Code Playgroud)

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