From a7dda238ce92f05109044af0aa9d47dedd653eec Mon Sep 17 00:00:00 2001 From: Moonbase Date: Thu, 31 Jul 2025 09:49:07 -0700 Subject: [PATCH] Configure SignalR To Show Detailed Errors And Fallback To Long Polling If WebSocket Dies (To Diagnose Clientside Connection Errors) --- qtc-net-server/Program.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/qtc-net-server/Program.cs b/qtc-net-server/Program.cs index ef1c2fd..b5a664a 100644 --- a/qtc-net-server/Program.cs +++ b/qtc-net-server/Program.cs @@ -24,7 +24,11 @@ var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers(); // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle builder.Services.AddDbContext(); -builder.Services.AddSignalR(); +builder.Services.AddSignalR().AddHubOptions(options => +{ + options.EnableDetailedErrors = true; + options.KeepAliveInterval = TimeSpan.FromMinutes(1); +}); builder.Services.AddStackExchangeRedisCache(options => { @@ -79,7 +83,11 @@ app.UseAuthorization(); app.MapControllers(); -app.MapHub("/chat"); +app.MapHub("/chat", options => +{ + options.Transports = Microsoft.AspNetCore.Http.Connections.HttpTransportType.WebSockets | + Microsoft.AspNetCore.Http.Connections.HttpTransportType.LongPolling; +}); app.MapHub("/tttgame"); app.Run();