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
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Implementare il throttling in ASP.NET Core
Short-circuiting della Pipeline in ASP.NET Core
Load test di ASP.NET Core con k6
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Usare un KeyedService di default in ASP.NET Core 8