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
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Migrare una service connection a workload identity federation in Azure DevOps
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Usare un KeyedService di default in ASP.NET Core 8