web api filter 和 mvc filter 区别

来源:互联网 发布:如何建立大数据平台 编辑:程序博客网 时间:2024/06/12 19:49


给web api 项目和mvc 项目添加过滤器的时候遇到了一个问题,在web api 引用的是Http 而在MVC 项目引用的是 System.Web.Mvc



web api  代码:

using System.Net;using System.Net.Http;using System.Web.Http.Controllers;using System.Web.Http.Filters;using com.ruxi.Biz.User;namespace com.ruxi.WebPortal.Controllers.App.Extentions{    public class ApiNeedBindPhoneAttribute : ActionFilterAttribute    {        public override void OnActionExecuting(HttpActionContext filterContext)        {            var bc = filterContext.ControllerContext.Controller as BaseApiController;            if (bc != null)            {                if (bc.IsLogin)                {                    var usi = UserService.Instance.GetUserSysInfo(bc.AccessTokenData.UserId);                    if (usi == null)                    {                        filterContext.Response = filterContext.Request.CreateResponse(HttpStatusCode.Forbidden, (object)"当前用户不存在");                    }                    else                    {                        if (usi.user_pn == 0 && usi.user_mseed == 0)                        {                            filterContext.Response = filterContext.Request.CreateResponse(HttpStatusCode.OK, (object)SysUserStatus.未激活);                        }                    }                }            }            base.OnActionExecuting(filterContext);        }    }}

Mvc 代码如下:

using System.Web.Mvc;using com.ruxi.Biz.User;namespace com.ruxi.WebPortal.Extensions{    public class NeedBindPhoneAttribute : ActionFilterAttribute    {        public override void OnActionExecuting(ActionExecutingContext filterContext)        {            var bc = (filterContext.Controller as BaseController);            if (bc != null)            {                var usi = UserService.Instance.GetUserSysInfo(bc.SessionUserId);                if (usi?.user_pn == 0 && usi.user_mseed == 0)                {                    filterContext.Result = new RedirectResult("/filmperson/bindphone");                }            }            base.OnActionExecuting(filterContext);        }    }}


0 0
原创粉丝点击