// -- Gestion des erreur 500 survenu dans l'application -- // protected override void OnException(ExceptionContext context) { // -- Activation de l'etat d'exception -- // context.ExceptionHandled = true; // -- Réccupération du controller et action de l'erreur -- // string controller = context.RouteData.Values["controller"].ToString(); string action = context.RouteData.Values["action"].ToString(); // -- Log -- // GBClass.Log.Error(context.Exception); // -- Redirection vers la page d'erreur approprié -- // context.Result = RedirectToAction( // -- Action -- // "Page", // -- Controlleur -- // "Erreur", // -- Paramètres -- // new { dt = GB.Models.Cryptage.Program.EncryptStringAES( GBConvert.To_JavaScript( new { code = 500, message = context.Exception.Message, id_lang = this.id_lang, reconnecter = GBClass.Reconnecter_erreur_action(controller, action) } ) ) } ); }
// -- Lorsqu'une erreur survient dans l'application -- // protected void Application_Error(object sender, EventArgs e) { try { // -- Réccupération des détails de l'exception -- // Exception ex = Server.GetLastError().GetBaseException(); // -- Variable de tye HTTP -- // HttpException ex_http = null; try { // -- Essai de conversion de l'exception en type HTTP -- // ex_http = ex as HttpException; } catch { } // -- Log -- // GBClass.Log.Error(ex); // -- Variable paramètre à envoyer à la page -- // string dt = GB.Models.Cryptage.Program.EncryptStringAES( GBConvert.To_JavaScript(new { code = (ex_http != null) ? ex_http.GetHttpCode() : 500, message = ex.Message, id_lang = id_lang_cookies.ToString(), reconnecter = true }) ); // -- Mise à jour du filtre de réponse -- // Response.Filter = new ResponseErreurFilter(Response.Filter, dt); } catch (Exception ex) { // -- Log -- // GBClass.Log.Error(ex); } }