c# mvc 封装返回对象
2017-06-18 17:34
141 查看
将所有返回JsonContent对象进行再次封装
对异常信息处理,避免黄页显示
最后全局注册
public class ResultFilterAttribute : System.Web.Mvc.ActionFilterAttribute { public override void OnActionExecuted(ActionExecutedContext filterContext) { if (filterContext.Exception != null) { base.OnActionExecuted(filterContext); return; } if (filterContext.Result is JsonResult) { var invokeResult = new InvokeResult<object> { Success = true }; var result = filterContext.Result as JsonResult; invokeResult.Data = result.Data; result.Data = invokeResult; base.OnActionExecuted(filterContext); return; } base.OnActionExecuted(filterContext); return; } }
对异常信息处理,避免黄页显示
public class MvcExceptionFilterAttribute : IExceptionFilter { public void OnException(ExceptionContext filterContext) { var invokeResult = new InvokeResult<object>(); if(filterContext.Exception is DomainException) { invokeResult.Message = filterContext.Exception.Message; } else { invokeResult.Message = filterContext.Exception.Message + (filterContext.Exception.StackTrace??""); //记录日志 } var jsonResult = new JsonResult { Data = invokeResult, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; filterContext.ExceptionHandled = true; filterContext.Result = jsonResult; } }
最后全局注册
public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new ResultFilterAttribute()); filters.Add(new MvcExceptionFilterAttribute()); }
相关文章推荐
- 如何让返回的对象为只读——一步步封装起来
- 久违的json使用大法 (通常Ajax希望返回多个键值对,可以用将要返回的数据先封装到一个对象中,再将这个对象转为json格式)
- COM组件封装与javascript调用返回未知对象
- 在dva中如何不通过yield发送封装的请求并且获取返回的promise对象中的数据
- Mybatits数据插入后自动返回主键封装到添加的对象里面
- java用poi解析excel2003和2007并封装成对象返回
- Hibernate2查询视图时,数据库返回多条纪录,封装后的对象却都是一样的问题
- 在json封装成对象返回前台数据中,null和""区别
- SpringMVC 封装返回结果对象
- Hibernate2查询视图时,数据库返回多条纪录,封装后的对象却都是一样的问题
- jdbc中如何返回一个封装任意类对象的list
- SpringMVC 中 jdbcTemplate.queryForList 返回结果 封装成 实体 对象
- SpringMVC 封装返回结果对象
- 用一个对象封装程序的返回信息
- java用poi解析excel2003和2007并封装成对象返回
- 多表联合查询返回Object对象重新封装
- mybatise查询返回的一个集合封装多个对象的实现
- jQuery的:nth-child(n)选择器用于匹配作为父元素下的第n个(或特定顺序的)子元素的元素,将其封装为jQuery对象并返回。 与该选择器相对的是:nth-last-child(n)选择
- C# MVC中返回JSON 对象
- 封装回调函数——为对象方法(Object Method,参数中带this指针的函数) 构造 普通函数(参数中无this指针的函数)形式 的入口