Exemple #1
0
        /// <summary>
        ///   Método  para manejar excepciones
        /// </summary>
        /// <param name="filterContext"> </param>
        public override void OnException(ExceptionContext filterContext)
        {
            // Si se maneja la excepción, regrese (no haga nada)
            if (filterContext.ExceptionHandled)
            {
                return;
            }

            // Se establece ExceptionHandled en verdadero
            filterContext.ExceptionHandled = true;

            //TODO: Registrar una excepción a la base de datos o al archivo de registro
            ExceptionControlDto exceptionControl = new ExceptionControlDto()
            {
                ExceptionMessage    = filterContext.Exception.Message,
                ExceptionStackTrack = filterContext.Exception.StackTrace,
                ControllerName      = filterContext.RouteData.Values["controller"].ToString(),
                ActionName          = filterContext.RouteData.Values["action"].ToString(),
                ExceptionLogTime    = DateTime.Now
            };

            var jsonResultResiduosRecibidos = JsonConvert.SerializeObject(exceptionControl);

            logger.Error(jsonResultResiduosRecibidos);


            //Estructura de resultados
            filterContext.Result = new JsonResult
            {
                Data = new { State = false, Message = filterContext.Exception.Message, Info = new { } },
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };
        }
Exemple #2
0
        public void OnException(ExceptionContext filterContext)
        {
            ExceptionControlDto exceptionControl = new ExceptionControlDto()
            {
                ExceptionMessage    = filterContext.Exception.Message,
                ExceptionStackTrack = filterContext.Exception.StackTrace,
                ControllerName      = filterContext.RouteData.Values["controller"].ToString(),
                ActionName          = filterContext.RouteData.Values["action"].ToString(),
                ExceptionLogTime    = DateTime.Now
            };

            var jsonResultResiduosRecibidos = JsonConvert.SerializeObject(exceptionControl);

            logger.Error(jsonResultResiduosRecibidos);

            filterContext.ExceptionHandled = true;
            var result = new ViewResult
            {
                ViewName = Enums.Result.Error.ToStringAttribute(),
                TempData = filterContext.Controller.TempData,
            };

            filterContext.Result = result;
            result.TempData[Enums.Result.ExceptionFechaGuia.ToStringAttribute()] = exceptionControl.ExceptionLogTime;
        }