using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http.Filters; namespace Project1.Application.Web.API
{
public class CrossSiteAttribute: System.Web.Http.Filters.ActionFilterAttribute
{
//使用方法:
/*
在需要跨域的 action 增加[CrossSite]属性 例子: [CrossSite]
[HttpPost]
public HttpResponseMessage GetData()
{
StringBuilder sb = new StringBuilder();
sb.AppendFormat(@" SELECT p.province as 'name',a.gaidu as 'value' FROM MapQueryDataBySheng a
INNER JOIN t_Province p ON a.areaid=p.id");
DataTable dt = SQLHelper.ExecDataTable(sb.ToString(), null);
string strJson = DataTableToJsonWithJsonNet(dt);
return new HttpResponseMessage { Content = new StringContent(strJson, Encoding.GetEncoding("UTF-8"), "application/json") };
}
*/ private const string Origin = "Origin";
/// <summary>
/// Access-Control-Allow-Origin是HTML5中定义的一种服务器端返回Response header,用来解决资源(比如字体)的跨域权限问题。
/// </summary>
private const string AccessControlAllowOrigin = "Access-Control-Allow-Origin";
/// <summary>
/// originHeaderdefault的值可以使 URL 或 *,如果是 URL 则只会允许来自该 URL 的请求,* 则允许任何域的请求
/// </summary>
private const string originHeaderdefault = "*";
/// <summary>
/// 该方法允许api支持跨域调用
/// </summary>
/// <param name="actionExecutedContext"> 初始化 System.Web.Http.Filters.HttpActionExecutedContext 类的新实例。</param>
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
if (actionExecutedContext != null)
{
actionExecutedContext.Response.Headers.Add(AccessControlAllowOrigin, originHeaderdefault);
}
}
}
}

最新文章

  1. Xcode使用HTTP配置
  2. Dubbo架构设计详解(转自shiyanjun.cn)
  3. JS懒加载
  4. Android中的Handler机制
  5. 菜鸟学sql,Oracle数据库结构比较
  6. uploadfiy使用
  7. 多工段查询存放到DataTable到List&lt;DataTable&gt;集合在C#里面做汇总
  8. Java Base64、AES、SHA1、MD5加密算法(转载)
  9. Lua性能优化
  10. 如何把百度统计代码放入JS文件中?百度统计的JS脚本原理分析
  11. java学习——JDK1.8接口和实现类
  12. random-----随机数
  13. TCP 原理
  14. cf1000E We Need More Bosses (tarjan缩点+树的直径)
  15. 面试遇到两个稍显变态的题目,mark一下
  16. 去掉select的原有样式
  17. ios自动监测更新
  18. Linux kafka 单机安装
  19. 转:queue
  20. Nowcoder 提高组练习赛-R7

热门文章

  1. linux基础—课堂随笔06_软件包管理
  2. 【NOIP2012】同余方程
  3. linux内核 内存管理
  4. tbdr+mrt
  5. json_decode 和 json_encode 区别
  6. mysql5.7 环境准备
  7. Remote API(RAPI)之 文件管理
  8. python在window下环境搭建
  9. Python 特点
  10. Vue3.0+TypeScript