--- title: ASP.NET Core Blazor SignalR guidance author: guardrex description: Learn how to configure and manage Blazor SignalR connections. monikerRange: '>= aspnetcore-3.1' ms.author: riande ms.custom: mvc ms.date: 11/12/2024 uid: blazor/fundamentals/signalr --- # ASP.NET Core Blazor SignalR guidance [!INCLUDE[](~/includes/not-latest-version.md)] This article explains how to configure and manage SignalR connections in Blazor apps. For general guidance on ASP.NET Core SignalR configuration, see the topics in the area of the documentation, especially . Server-side apps use ASP.NET Core SignalR to communicate with the browser. [SignalR's hosting and scaling conditions](xref:signalr/publish-to-azure-web-app) apply to server-side apps. Blazor works best when using WebSockets as the SignalR transport due to lower latency, reliability, and [security](xref:signalr/security). Long Polling is used by SignalR when WebSockets isn't available or when the app is explicitly configured to use Long Polling. :::moniker range=">= aspnetcore-8.0" ## Azure SignalR Service with stateful reconnect [Stateful reconnect](xref:signalr/configuration#configure-stateful-reconnect) () was released with .NET 8 but isn't currently supported for the Azure SignalR Service. For more information, see [Stateful Reconnect Support? (`Azure/azure-signalr` #1878)](https://github.com/Azure/azure-signalr/issues/1878). :::moniker-end :::moniker range=">= aspnetcore-9.0" ## WebSocket compression for Interactive Server components By default, Interactive Server components: * Enable compression for [WebSocket connections](xref:fundamentals/websockets). (default: `false`) controls WebSocket compression. * Adopt a `frame-ancestors` [Content Security Policy (CSP)](https://developer.mozilla.org/docs/Web/HTTP/CSP) directive set to `'self'`, which only permits embedding the app in an `