HandleErrorAttribute Customize Request Ajax

 

public override void OnException(ExceptionContext filterContext)
{
	var controllerName = filterContext.RouteData.Values["controller"];
	var actionName = filterContext.RouteData.Values["action"];
	var userName = HttpContext.Current.User.Identity.Name;
	var area = filterContext.RouteData.DataTokens["area"];

	if (filterContext.HttpContext.Request.IsAjaxRequest())
	{
		filterContext.ExceptionHandled = true;

		filterContext.HttpContext.Response.Clear();
		filterContext.HttpContext.Response.StatusCode = Convert.ToInt32(System.Net.HttpStatusCode.InternalServerError);
		filterContext.HttpContext.Response.TrySkipIisCustomErrors = true;
		filterContext.Result = new JsonResult
		{
			Data = new { result = false, ExceptionMessage = filterContext.Exception.Message },
			JsonRequestBehavior = JsonRequestBehavior.AllowGet
		};
	}

	base.OnException(filterContext);
}

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir