Al verificarsi di un'eccezione non gestita, ASP.NET mostra per default una pagina che ne illustra tutti i dettagli, così che lo sviluppatore possa effettivamente comprendere la natura del problema. Nei sistemi in produzione, però, è buona norma non esporre questo tipo di dettagli, per cui è preferibile attivare la gestione dei customError da web.config
<customError mode="On" />
Sebbene ciò sia sufficiente per evitare di condividere informazioni sensibili, spesso di vuole anche redirigere l'utente verso una pagina di cortesia. In ASP.NET MVC è disponibile l'action filter HandleError che può essere utilizzato per decorare una action o un intero controller.
[HandleError] public class HomeController : Controller { public ActionResult Index() { throw new NotImplementedException(); } }
Invocando la action Index, in questo caso, il runtime effettuerà automaticamente il rendering di una view apposita, che deve essere denominata Error e deve risiedere o nella cartella associata al controller o, in alternativa, nella cartella shared; il risultato finale è visibile in figura:

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestire la query string nell'output cache di ASP.NET Core
Taggare la output cache in base al routing in ASP.NET Core
Migliorare la scalabilità di ASP.NET Core 7 grazie all'output cache
Sfruttare la local cache del browser tramite gli ETag in ASP.NET Core
Sfruttare l'output cache di ASP.NET Core 7 con i controller
Impostare il forward degli header in un sito ASP.NET Core dietro a un reverse proxy
Sfruttare i tag nell'output cache di ASP.NET Core 7
Migrare un progetto ASP.NET Core da .NET 6 a .NET 7
Gestire tipi complessi in query string grazie a IParsable in ASP.NET Core 7.0
Definire le impostazioni di cache a livello di controller in ASP.NET Core 7
Autenticazione basata su certificati con ASP.NET Core
Abilitare automaticamente Dependabot in tutti i repository di una organizzazione su GitHub
I più letti di oggi
- .NET Conference Italia 2022 - Milano e Online
- devConf 2022 - Online
- Real Code Day 4.0: costruire applicazioni reali - Firenze
- Real Code Conference 4.0 - Firenze
- Blazor Conference 2020 Live - Online
- PWAConf 2020 - Online
- Visual Studio 2019 Live - Milano
- Global Azure Milan 2020 - Online
- Blazor Conference 2021 - Online
- Visual Studio 2015 Preview Live - Online