Blazor Architecture & Enterprise Patterns

SignalR Connection Resiliency and Circuit management

1 Views Updated 5/4/2026

Handling Disconnects

A robust Blazor app must handle the 'Internet is down' scenario gracefully. This is known as Circuit Management.

1. The 'Reconnecting' UI

By default, Blazor Server shows a gray overlay with 'Attempting to reconnect' text. You can customize this UI to match your brand. More importantly, you can optimize the **Retry Strategy** to be more aggressive or more patient depending on your user's network environment.

2. State Recovery

If the user loses their connection for more than the DisconnectedCircuitRetentionPeriod, their state is gone. To prevent user frustration, you should persist critical form state to **LocalStorage** frequently. When the user reconnects to a *new* circuit, your app can re-read the state from the browser and restore their progress.

3. Architect Insight

Q: "How many concurrent circuits can one server handle?"

Architect Answer: "On a standard 8GB RAM server, you can typically handle **2,000 to 5,000 concurrent users**. The bottleneck is usually **Memory**, not CPU, because each circuit holds the full state of the user's UI. This is why for public-scale apps, Blazor WASM or a micro-frontend approach is often a better architectural choice."

Blazor Architecture & Enterprise Patterns
1. Blazor Foundations
Blazor Unleashed: The future of .NET Web development Hosting Models: Server-side vs WASM vs Auto (United) Project Structure: Proper layout for large-scale systems The Razor Syntax: Components, Directives, and Code-behind
2. Component Architecture
Component Communication: Parameters, EventCallbacks, and CascadingValues Render Fragments & Templated Components Custom Component Libraries: Building for reuse Error Boundaries: Graceful failure handling in UI
3. Data & State Management
Fluxor vs Simple State: Handling global state in Blazor Optimistic UI Updates and Data Persistence Handling Large Datasets: Pagination and Virtualization LocalStorage vs SessionStorage in WASM
4. SignalR & Interactivity
Blazor Server Hub: How it works under the hood JS Interop: Calling JavaScript from C# and vice versa SignalR Connection Resiliency and Circuit management Building Real-time Interactive Components
5. Security & Data Protection
Authentication State Provider: Custom Auth logic Securing APIs: JWT and Managed Identity in Blazor Role-based and Policy-based UI visibility Preventing XSS and CSRF in Blazor apps
6. Advanced Performance
Prerendering: Improving SEO and Initial Load time AOT (Ahead-of-Time) Compilation for WASM performance Lazy Loading Assemblies to reduce bundle size Memory Management and Leak prevention in WASM
7. Testing & CI/CD
Unit Testing Components with bUnit Integration Testing with Playwright and Blazor Mocking Services and JS Interop in tests Automating Blazor Deployments to Azure/AWS
8. The Blazor Architect's Case Study
Migrating an legacy WebForms/Silverlight app to Blazor Building a high-scale Enterprise Dashboard with Blazor