Exemplo n.º 1
0
        public void OnException(ExceptionContext filterContext)
        {
            //filterContext.HttpContext.Request.IsAjaxRequest();
            if (filterContext.HttpContext.Request.Headers["X-Requested-With"] == "XMLHttpRequest")
            {
                filterContext.Result = new JsonResult
                {
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet,
                    Data = new
                    {
                        Message = "Something went wrong"
                    }
                };
            }

            filterContext.HttpContext.Response.StatusCode = 500;
            filterContext.ExceptionHandled = true;

            ExceptionLogging logger = new ExceptionLogging()
            {
                ExceptionMessage    = filterContext.Exception.Message,
                ExceptionStackTrack = filterContext.Exception.StackTrace,
                ControllerName      = filterContext.RouteData.Values["controller"].ToString(),
                ActionName          = filterContext.RouteData.Values["action"].ToString(),
                ExceptionLogTime    = DateTime.Now
            };
            UrlHelper urlHelper = new UrlHelper(filterContext.RequestContext);

            filterContext.Result = new RedirectResult(urlHelper.Action(Constants.ErrorView));
            ExceptionLog exceptionLog = new ExceptionLog();

            exceptionLog.AddException(logger);
        }