繁体   English   中英

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

[英]Failed connection handshake error when using AspNetCore.SignalR in ABP under IIS

我的环境

  • .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'
  • 错误:连接因错误“错误:服务器返回握手错误:连接握手期间发生意外错误”而断开连接。

在此处输入图片说明

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

HandshakeTimeout = TimeSpan.MaxValue;

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM