zoukankan      html  css  js  c++  java
  • 使用筛选器特性标记方法解决webapi 跨域问题

    在我的之前随笔

    解决api、WebService跨域问题

    中有人问到可以用特性来解决跨域问题吗,答案是肯定的,可以的;操作如下:

    首先建一个类CrossSiteAttribute:从抽象 ActionFilterAttribute 类继承的特性类来创建操作筛选器或响应筛选器。然后重写方法 OnActionExecuted实现跨域

    using System.Web.Http.Filters;
    
    namespace Api
    {
        public class CrossSiteAttribute : ActionFilterAttribute
        {
            private const string Origin = "Origin";
            private const string AccessControlAllowOrigin = "Access-Control-Allow-Origin";
            private const string originHeaderdefault = "*";
            public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
            {
                actionExecutedContext.Response.Headers.Add(AccessControlAllowOrigin, originHeaderdefault);
            }
        }
    }
    

      最后在你的webapi方法中添加特性即可

            [CrossSite]
            [HttpPost]
            public string Add()
            {
                return "1" + "2";
            }

    按照上述方法也是可以解决跨域问题的

     备注:

     OnActionExecuted 在执行操作方法后由 ASP.NET MVC 框架调用。

    OnActionExecuting 在执行操作方法之前由 ASP.NET MVC 框架调用。

    OnResultExecuted 在执行操作结果后由 ASP.NET MVC 框架调用。
    OnResultExecuting 在执行操作结果之前由 ASP.NET MVC 框架调用。

    参考链接: https://msdn.microsoft.com/zh-cn/library/system.web.mvc.actionfilterattribute(v=vs.108).aspx

  • 相关阅读:
    谷粒商城网关服务建立(七)
    谷粒商城Nacos配置(六)
    谷粒商城Nacos配置(五)
    Nacos入门
    谷粒商城心得二
    谷粒商城的快速开发(四)
    谷粒商城的快速开发(三)
    谷粒商城心得一
    谷粒商城的环境搭建(二)
    PowerDesigner16安装&破解
  • 原文地址:https://www.cnblogs.com/highest/p/8261196.html
Copyright © 2011-2022 走看看