gpt4 book ai didi

asp.net-core - SignalR "Error during WebSocket handshake"有时

转载 作者:行者123 更新时间:2023-12-04 10:26:57 25 4
gpt4 key购买 nike

我的应用程序在我的生产环境中大约有一半的时间接受握手时遇到问题。在我的本地机器和我的临时环境(与生产环境相同)中,它每次都有效。

它是一个使用 aspnet-signalr/1.1.4 的 .Net Core 2.1 应用程序

我没有将 SignalR 配置为在我的 startup.s 中使用任何细节

app.UseSignalR(routes => { routes.MapHub<PortfolioHub>("/loadpagedetailsjob"); });

app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Dashboard}/{action=Index}/{id?}");
});

我的 PortfolioHub 只是 Hub 类的直接实现

在我的页面中
var connection = new signalR.HubConnectionBuilder()
.withUrl('/loadpagedetailsjob')
.configureLogging(signalR.LogLevel.Information)
.build();

connection.start().then(function () {
connection.invoke("Subscribe");
});

enter image description here

看起来它试图协商网络套接字然后长轮询并且都失败了。但是请求返回 200

enter image description here

由于它只是有时发生,我在解决问题时遇到了问题。我现在唯一的怀疑是因为我的环境在负载平衡后面的 AWS 中,协商请求被路由到可能导致问题的不同服务器?

任何帮助表示赞赏。

最佳答案

SignalR 要求一个连接始终由同一服务器处理。典型的解决方案是将负载均衡器配置为使用粘性 session 。启用粘性 session 后,负载均衡器会将同一用户的请求路由到同一后端服务器。

https://docs.microsoft.com/en-us/aspnet/core/signalr/scale?view=aspnetcore-3.1

关于asp.net-core - SignalR "Error during WebSocket handshake"有时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60601552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com