在我的之前随笔

解决api、WebService跨域问题

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

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

  1. using System.Web.Http.Filters;
  2.  
  3. namespace Api
  4. {
  5. public class CrossSiteAttribute : ActionFilterAttribute
  6. {
  7. private const string Origin = "Origin";
  8. private const string AccessControlAllowOrigin = "Access-Control-Allow-Origin";
  9. private const string originHeaderdefault = "*";
  10. public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
  11. {
  12. actionExecutedContext.Response.Headers.Add(AccessControlAllowOrigin, originHeaderdefault);
  13. }
  14. }
  15. }

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

  1. [CrossSite]
  2. [HttpPost]
  3. public string Add()
  4. {
  5. return "" + "";
  6. }

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

备注:

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

使用筛选器特性标记方法解决webapi 跨域问题的更多相关文章

  1. Nginx 解决WebApi跨域二次请求以及Vue单页面问题

    一.前言 由于项目是前后端分离,API接口与Web前端 部署在不同站点当中,因此在前文当中WebApi Ajax 跨域请求解决方法(CORS实现)使用跨域处理方式处理而不用Jsonp的方式. 但是在一 ...

  2. CORS解决WebApi跨域问题(转)

    CORS全称Cross-Origin Resource Sharing,中文全称跨域资源共享.它解决跨域问题的原理是通过向http的请求报文和响应报文里面加入相应的标识告诉浏览器它能访问哪些域名的请求 ...

  3. php 模拟get和post提交方法[解决ajax跨域问题]

    get: $url = "http://www.111cn.net /index.php?a=b&c=d&e=f&g=" . urlencode('王璐个人 ...

  4. C#进阶系列——WebApi 跨域问题解决方案:CORS

    前言:上篇总结了下WebApi的接口测试工具的使用,这篇接着来看看WebAPI的另一个常见问题:跨域问题.本篇主要从实例的角度分享下CORS解决跨域问题一些细节. WebApi系列文章 C#进阶系列— ...

  5. WebApi 跨域问题解决方案:CORS

    注:本文为个人学习摘录,原文地址:http://www.cnblogs.com/landeanfen/p/5177176.html 前言:上篇总结了下WebApi的接口测试工具的使用,这篇接着来看看W ...

  6. C#进阶系列——WebApi 跨域问题解决方案:CORS(转载)

    C#进阶系列——WebApi 跨域问题解决方案:CORS   阅读目录 一.跨域问题的由来 二.跨域问题解决原理 三.跨域问题解决细节 1.场景描述 2.场景测试 四.总结 正文 前言:上篇总结了下W ...

  7. (转)C# WebApi 跨域问题解决方案:CORS

    原文地址:http://www.cnblogs.com/landeanfen/p/5177176.html 阅读目录 一.跨域问题的由来 二.跨域问题解决原理 三.跨域问题解决细节 1.场景描述 2. ...

  8. 如何解决ajax跨域问题(转)

    由 于此前很少写前端的代码(哈哈,不合格的程序员啊),最近项目中用到json作为系统间交互的手段,自然就伴随着众多ajax请求,随之而来的就是要解决 ajax的跨域问题.本篇将讲述一个小白从遇到跨域不 ...

  9. 看小白如何解决ajax跨域问题

    由于此前很少写前端的代码(哈哈,不合格的程序员啊),最近项目中用到json作为系统间交互的手段,自然就伴随着众多ajax请求,随之而来的就是要解决ajax的跨域问题.本篇将讲述一个小白从遇到跨域不知道 ...

随机推荐

  1. 关于Android中so解析那些事

    1.Android系统目前支持的CPU架构:ARMv5.ARMv7.x86.MIPS.ARMv8.MIPS64.x86_64,每一种都关联着一个ABI(Application Binary Inter ...

  2. 【Uva10559】Blocks(区间DP)

    Description 题意:有一排数量为N的方块,每次可以把连续的相同颜色的区间消除,得到分数为区间长度的平方,然后左右两边连在一起,问最大分数为多少. \(1\leq N\leq200\) Sol ...

  3. [array] leetcode - 42. Trapping Rain Water - Hard

    leetcode - 42. Trapping Rain Water - Hard descrition Given n non-negative integers representing an e ...

  4. CDH的安装

    环境5台装有centos 6.9系统的服务器 1.网络配置 sudo vi /etc/sysconfig/network修改hostname: NETWORKING=yes HOSTNAME=ZXXS ...

  5. Python 多线程进程高级指南(二)

    本文是如何<优雅地实现Python通用多线程/进程并行模块>的后续.因为我发现,自认为懂了一点多线程开发的皮毛,写了那么个multi_helper的玩意儿,后来才发现我靠原来就是一坨屎.自 ...

  6. bzoj 3999: [TJOI2015]旅游

    Description 为了提高智商,ZJY准备去往一个新世界去旅游.这个世界的城市布局像一棵树.每两座城市之间只有一条路径可 以互达.每座城市都有一种宝石,有一定的价格.ZJY为了赚取最高利益,她会 ...

  7. DEDECMS最新5.7版在Windows下的Memcache安装

    一,织梦后台后台设置进入系统后台,在[系统基本参数]下面的"性能选项"卡当中,关于memcache进行如下配置: cfg_memcache_enable : 是否启用memcach ...

  8. Python图片爬虫

    1.今天给大家介绍自己写的一个图片爬虫,说白了就是从网页自动上下载需要的图片 2.首先选取目标为:http://www.zhangzishi.cc/涨姿势这个网站如下图,我们的目标就是爬取该网站福利社 ...

  9. spring_boot_pay支付宝,微信,银联支付详细代码案例

    spring-boot-pay 支付服务:支付宝,微信,银联详细代码案例(除银联支付可以测试以外,支付宝和微信支付测试均需要企业认证,个人无法完成测试),项目启动前请仔细阅读 注意事项  . 友情提示 ...

  10. Spring基础篇——Spring容器和应用上下文理解

    上文说到,有了Spring之后,通过依赖注入的方式,我们的业务代码不用自己管理关联对象的生命周期.业务代码只需要按照业务本身的流程,走啊走啊,走到哪里,需要另外的对象来协助了,就给Spring说,我想 ...