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
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Implementare il throttling in ASP.NET Core
Cache policy su route groups di Minimal API in ASP.NET Core 7
Short-circuiting della Pipeline in ASP.NET Core
Migrare una service connection a workload identity federation in Azure DevOps