zoukankan      html  css  js  c++  java
  • MVC webapi,Action的分别拦截器

    继承Controller,ApiController的拦截继承的接口不一样

    webapi的拦截器:(继承System.Web.Http)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Http.Controllers;
    using System.Web.Http.Filters;
    using System.Configuration;
    
    namespace Rongzi.Mi.Mvc
    {
     
        public class IosApproveFilterAttribute : System.Web.Http.Filters.ActionFilterAttribute
        {
            private readonly bool IosApprove = Convert.ToBoolean(ConfigurationManager.AppSettings["IOSApprove"] == null ? "0" : ConfigurationManager.AppSettings["IOSApprove"]);
            public override void OnActionExecuting(HttpActionContext actionContext)
            {
                base.OnActionExecuting(actionContext);
            }
    
    
            public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
            {
                if (IosApprove)
                {
                    actionExecutedContext.ActionContext.Response.Headers.Add("IOSApprove", "true");
                }
                base.OnActionExecuted(actionExecutedContext);
            }
        }
    }

    Controller的拦截:(继承System.Web.Mvc)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Http.Controllers;
    using System.Configuration;
    using System.Web.Mvc;
    
    namespace Rongzi.Mi.Mvc
    {
    
        public class IosApproveFilterAttribute : System.Web.Mvc.ActionFilterAttribute
        {
            private readonly bool IosApprove = ConfigurationManager.AppSettings["IOSApprove"] == "1" ? true : false;
            public override void OnActionExecuting(ActionExecutingContext actionContext)
            {
                base.OnActionExecuting(actionContext);
                
            }
            public override void OnActionExecuted(ActionExecutedContext actionExecutedContext)
            {
                if (IosApprove)
                {
                    actionExecutedContext.HttpContext.Response.Headers.Add("IOSApprove", "true");
                }
                base.OnActionExecuted(actionExecutedContext);
            }
        }
    }

    可以发现他们的继承抽象类都不一样,虽然名称一样,但是是不同的命名空间。

  • 相关阅读:
    linux 内核升级4.19
    监管对保险页面的要求
    软件测试-测试可交付成果
    软件测试架构思想
    dockerfile
    转载:.NET Core 图片操作在 Linux/Docker 下的坑
    docker build速度过慢问题
    .net 5 发布到 docker 或 docker 镜像方法
    Centos 安装 docker 教程
    DQL、DML、DDL、DCL全名是啥?
  • 原文地址:https://www.cnblogs.com/hongdada/p/7243134.html
Copyright © 2011-2022 走看看