public override void OnException(System.Web.Mvc.ExceptionContext filterContext) { StringBuilder lobjLogBuilder = new StringBuilder(); lobjLogBuilder.Append("Error occurred in controller action."); lobjLogBuilder.Append(string.Format("Controller-{0};", filterContext.RouteData.Values["controller"])); lobjLogBuilder.Append(string.Format("Action-{0};", filterContext.RouteData.Values["action"])); lobjLogBuilder.Append(string.Format("ExceptionMessage-{0};", filterContext.Exception.InnerException.Message)); ServerLogger.Error(lobjLogBuilder.ToString()); filterContext.ExceptionHandled = true; MessageModel msgModel = new MessageModel(MessageType.Error, ExceptionHelper.GetMessage(filterContext.Exception)); ResultDataBag lobjResult = new ResultDataBag(true, msgModel, null); filterContext.Result = new JsonResult() { Data = lobjResult, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; base.OnException(filterContext); }
public static HttpResponseMessage BuildJsonResponse(HttpStatusCode code, Object resultData, MessageType type, string message) { HttpResponseMessage result = null; try { bool hasMessage = !string.IsNullOrEmpty(message); MessageModel msgModel = hasMessage ? new MessageModel(type, message) : null; ResultDataBag lobjResult = new ResultDataBag(hasMessage, msgModel, resultData); String str = JsonConvert.SerializeObject(lobjResult); result = new HttpResponseMessage { StatusCode = code, Content = new StringContent(str, Encoding.GetEncoding("UTF-8"), "application/json") }; } catch (Exception ex) { result = new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(ex.Message, Encoding.GetEncoding("UTF-8"), "application/json") }; ServerLogger.Error(ex.Message); } return(result); }