IIS 上的 ASP.NET 应用程序发出“与该 ID 没有连接”错误信号

问题描述 投票:0回答:3

我有一个在 Windows Server 2019 上的 IIS 上运行的 ASP.NET 和 Angular 应用程序。将应用程序移动到另一台服务器后,我开始收到“与该 ID 没有连接”错误,因此应用程序的某些关键功能无法使用工作。

有趣的是,它会在一段时间后发生。当我登录时,一开始效果很好。几分钟后,我开始在控制台中看到404错误。而且,当我尝试直接在浏览器上访问该链接(https://mywebsite.com/api/Hubs/ReservationHub?id=xxx)时,我收到“与该 ID 没有连接”。

我在服务器中没有看到任何错误日志。 Cloudflare 用于 DNS。

如有任何帮助,我们将不胜感激。

asp.net angular iis signalr
3个回答
1
投票

会话持久性似乎未启用或无法正常工作。也称为会话亲和性 | “粘性”会话。

这是为了确保同一用户的请求始终发送到同一服务器。 SignalR 要求单个连接的所有请求都发送到同一台物理服务器。如果任何请求最终被路由到不同的服务器,您将收到 404“与该 ID 没有连接”。

您可以获取失败连接的网络跟踪以获得更好的概览,但这在大多数情况下都是原因。


1
投票

我认为你需要在 IIS 中启用 WebSockets:
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/websockets?view=aspnetcore-6.0

您在控制台中看到的 URL 应为 wss://mywebsite.com/api/Hubs/ReservationHub?id=xxx


0
投票

我知道这是一个老问题,但它是搜索引擎中的第一个问题。

我面临着同样的错误,但一切都在同一台机器/服务器上。

原因是

hostingModel="outofprocess"
(web.config)。更改后
inprocess
问题就消失了。

© www.soinside.com 2019 - 2024. All rights reserved.