Skip to content

Commit aa4829d

Browse files
authored
Update Azure SignalR Service remarks (dotnet#32204)
1 parent fc0d9b1 commit aa4829d

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

aspnetcore/blazor/host-and-deploy/server.md

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,17 @@ Blazor works best when using WebSockets as the SignalR transport due to lower la
250250

251251
## Azure SignalR Service
252252

253-
We recommend using the [Azure SignalR Service](xref:signalr/scale#azure-signalr-service) for server-side Blazor apps. The service works in conjunction with the app's Blazor Hub for scaling up a server-side Blazor app to a large number of concurrent SignalR connections. In addition, the SignalR Service's global reach and high-performance data centers significantly aid in reducing latency due to geography.
253+
:::moniker range=">= aspnetcore-8.0"
254+
255+
For Blazor Web Apps that adopt interactive server-side rendering, consider using the [Azure SignalR Service](xref:signalr/scale#azure-signalr-service). The service works in conjunction with the app's Blazor Hub for scaling up to a large number of concurrent SignalR connections. In addition, the service's global reach and high-performance data centers significantly aid in reducing latency due to geography. If your hosting environment already handles these concerns, using the Azure SignalR Service isn't necessary.
256+
257+
:::moniker-end
258+
259+
:::moniker range="< aspnetcore-8.0"
260+
261+
Consider using the [Azure SignalR Service](xref:signalr/scale#azure-signalr-service), which works in conjunction with the app's Blazor Hub for scaling up to a large number of concurrent SignalR connections. In addition, the service's global reach and high-performance data centers significantly aid in reducing latency due to geography. If your hosting environment already handles these concerns, using the Azure SignalR Service isn't necessary.
262+
263+
:::moniker-end
254264

255265
> [!IMPORTANT]
256266
> When [WebSockets](https://wikipedia.org/wiki/WebSocket) are disabled, Azure App Service simulates a real-time connection using HTTP Long Polling. HTTP Long Polling is noticeably slower than running with WebSockets enabled, which doesn't use polling to simulate a client-server connection. In the event that Long Polling must be used, you may need to configure the maximum poll interval (`MaxPollIntervalInSeconds`), which defines the maximum poll interval allowed for Long Polling connections in [Azure SignalR Service](#azure-signalr-service) if the service ever falls back from WebSockets to Long Polling. If the next poll request does not come in within `MaxPollIntervalInSeconds`, Azure SignalR Service cleans up the client connection. Note that Azure SignalR Service also cleans up connections when cached waiting to write buffer size is greater than 1 MB to ensure service performance. Default value for `MaxPollIntervalInSeconds` is 5 seconds. The setting is limited to 1-300 seconds.
@@ -347,7 +357,17 @@ Scaling server-side Blazor apps on Azure Container Apps requires specific consid
347357

348358
## Azure App Service without the Azure SignalR Service
349359

350-
When the Azure SignalR Service is ***not*** used, the App Service requires configuration for Application Request Routing (ARR) affinity and WebSockets. Clients connect their WebSockets directly to the app, not to the Azure SignalR Service.
360+
:::moniker range=">= aspnetcore-8.0"
361+
362+
Hosting a Blazor Web App that uses interactive server-side rendering on Azure App Service requires configuration for Application Request Routing (ARR) affinity and WebSockets. The App Service should also be appropriately globally distributed to reduce UI latency. Using the Azure SignalR Service when hosting on Azure App Service isn't required.
363+
364+
:::moniker-end
365+
366+
:::moniker range="< aspnetcore-8.0"
367+
368+
Hosting a Blazor Server app on Azure App Service requires configuration for Application Request Routing (ARR) affinity and WebSockets. The App Service should also be appropriately globally distributed to reduce UI latency. Using the Azure SignalR Service when hosting on Azure App Service isn't required.
369+
370+
:::moniker-end
351371

352372
Use the following guidance to configure the app:
353373

0 commit comments

Comments
 (0)