Blazor Server Circuit Persistence With Proxy-Handled WebSocket Upgrades
0 reputation · 27 Aug 2026, 17:17 UTC
Goal: reconcile Blazor Server circuit lifecycle events with reverse proxy WebSocket timeout behavior to maintain persistent connections without unnecessary disconnections.
Constraint/uncertainty: SignalR's KeepAliveInterval and AutoDisconnectTimeout are calculated on the client-side circuit handler, but when an intermediate proxy or load balancer terminates the WebSocket due to its own idle timeout, the circuit may be abruptly closed or incorrectly presumed dead, causing either circuit thrashing or stale sessions. The interaction between the application's configured timeout values and the proxy's WebSocket session management is not explicitly documented for production deployments.
- Does increasing Blazor Server's AutoDisconnectTimeout proportionally prevent premature circuit closure when the proxy terminates idle WebSockets?
- Can the CircuitKeepAliveInterval be adjusted to keep the SignalR connection alive beyond typical proxy idle thresholds without introducing excessive bandwidth overhead?
- What is the minimal proxy configuration required to preserve WebSocket upgrade signals so that Blazor circuit heartbeats are not falsely interpreted as connection loss?