Quando una Blazor Web App perde la connessione WebSocket con il server (ad esempio per un problema di rete), l'utente deve essere informato che l'app sta tentando di riconnettersi, ma soprattutto che non tutte le funzionalità sono garantite in questo frangente.
Con .NET 10, il template di progetto Blazor Web App include già un componente chiamato ReconnectModal, insieme ai suoi file CSS e JavaScript, all'interno della cartella Layout.
Per capire quando il componente verrà visualizzato, utilizziamo l'esempio seguente: immaginiamo che l'utente stia compilando un modulo e la connessione internet cada per qualche secondo, la modale si attiverà con un messaggio: "Connessione persa. Tentativo di riconnessione...". Quando il collegamento verrà ristabilito, la modale scomparirà automaticamente e le operazioni potranno proseguire.
Questo meccanismo non è nuovo nel mondo Blazor, esisteva già nelle primissime versioni, quello che cambia è la possibilità di personalizzare completamente l'interfaccia di riconnessione: cambiare il testo del messaggio, aggiungere un'animazione di caricamento, mostrare un pulsante Riprova. Il tutto è reso possibile grazie alla nuova interpretazione del componente, che ora è un effettivo componente applicativo, mentre prima era generato e gestito dal framework con pochissime possibilità di controllo.
Il nuovo approccio è inoltre importante per le applicazioni che usano regole di sicurezza più rigide, come la Content Security Policy (CSP), in particolare la regola style-src, dato che in passato alcuni stili venivano generati e iniettati automaticamente.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Modificare lo stile in una QuickGrid Blazor
Blazor e Static Web Assets in .NET 10
Gestione opzioni colonna nella Blazor QuickGrid
Response streaming con Blazor e .NET 10
Integrare email esterne con Azure Functions e Managed Connectors
Centralizzare e governare MCP server e Skill con Azure API Center
Esporre un server MCP con Azure API Management
Utilizzo delle Feature flag in ASP.NET Core
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Usare i generics di C# con la clausola nameof in modo semplificato
Keynote .NET Conference Italia 2025
Interazione con ReconnectModal in Blazor


