diff --git a/aspnetcore/blazor/fundamentals/signalr.md b/aspnetcore/blazor/fundamentals/signalr.md index 5607996aba..1dc3452f76 100644 --- a/aspnetcore/blazor/fundamentals/signalr.md +++ b/aspnetcore/blazor/fundamentals/signalr.md @@ -179,20 +179,19 @@ To resolve the problem, use ***either*** of the following approaches: * * [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) -## Use sticky sessions for server-side webfarm hosting +## Use session affinity (sticky sessions) for server-side webfarm hosting -A Blazor app prerenders in response to the first client request, which creates UI state on the server. When the client attempts to create a SignalR connection, **the client must reconnect to the same server**. When more than one backend server is in use, the app should implement *sticky sessions* for SignalR connections. +A Blazor app prerenders in response to the first client request, which creates UI state on the server. When the client attempts to create a SignalR connection, **the client must reconnect to the same server**. When more than one backend server is in use, the app should implement session affinity, also called *sticky sessions*, for SignalR connections. -> [!NOTE] -> The following error is thrown by an app that hasn't enabled sticky sessions in a webfarm: -> -> > blazor.server.js:1 Uncaught (in promise) Error: Invocation canceled due to the underlying connection being closed. +The following error is thrown by an app that hasn't enabled session affinity in a webfarm: + +> :::no-loc text="blazor.server.js:1 Uncaught (in promise) Error: Invocation canceled due to the underlying connection being closed."::: ## Server-side Azure SignalR Service We recommend using the [Azure SignalR Service](xref:signalr/scale#azure-signalr-service) for server-side development hosted in Microsoft Azure. The service works in conjunction with the app's Blazor Hub for scaling up a server-side 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. -Sticky sessions are enabled for the Azure SignalR Service by setting the service's `ServerStickyMode` option or configuration value to `Required`. For more information, see . +[Session affinity](#use-session-affinity-sticky-sessions-for-server-side-webfarm-hosting) is enabled for the Azure SignalR Service by setting the service's `ServerStickyMode` option or configuration value to `Required`. For more information, see . ## Server-side circuit handler options diff --git a/aspnetcore/blazor/host-and-deploy/server.md b/aspnetcore/blazor/host-and-deploy/server.md index 9ebcdb2fb5..8d2f1cdb04 100644 --- a/aspnetcore/blazor/host-and-deploy/server.md +++ b/aspnetcore/blazor/host-and-deploy/server.md @@ -195,13 +195,13 @@ For a deeper exploration of scaling server-side Blazor apps on the Azure Contain When using IIS, enable: * [WebSockets on IIS](xref:fundamentals/websockets#enabling-websockets-on-iis). -* [Sticky sessions with Application Request Routing](/iis/extensions/configuring-application-request-routing-arr/http-load-balancing-using-application-request-routing). +* [Session affinity with Application Request Routing](/iis/extensions/configuring-application-request-routing-arr/http-load-balancing-using-application-request-routing). For more information, see the guidance and external IIS resource cross-links in . ## Kubernetes -Create an ingress definition with the following [Kubernetes annotations for sticky sessions](https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/): +Create an ingress definition with the following [Kubernetes annotations for session affinity](https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/): ```yaml apiVersion: extensions/v1beta1