关于ASP.NET MVC WebApi接口跨域访问的解决方案
2017-03-17 10:37
597 查看
1.一般的解决方案里面有一个Filters文件夹,需要在这个文件夹里面添加一个类文件
public class CrossSiteAttribute: System.Web.Http.Filters.ActionFilterAttribute
{
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 string originHeaderdefault = "*";//"http://192.168.13.7:8002";
/// <summary>
/// 该方法允许api支持跨域调用
/// </summary>
/// <param name="actionExecutedContext"> 初始化 System.Web.Http.Filters.HttpActionExecutedContext 类的新实例。</param>
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
actionExecutedContext.Response.Headers.Add(AccessControlAllowOrigin, originHeaderdefault);
}
}
2.在WebApi接口内需要引用该文件
[CrossSite] --是创建的类
public class WebApiController : ApiController
{
}
3.当前接口内就可以跨域访问了
public class CrossSiteAttribute: System.Web.Http.Filters.ActionFilterAttribute
{
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 string originHeaderdefault = "*";//"http://192.168.13.7:8002";
/// <summary>
/// 该方法允许api支持跨域调用
/// </summary>
/// <param name="actionExecutedContext"> 初始化 System.Web.Http.Filters.HttpActionExecutedContext 类的新实例。</param>
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
actionExecutedContext.Response.Headers.Add(AccessControlAllowOrigin, originHeaderdefault);
}
}
2.在WebApi接口内需要引用该文件
[CrossSite] --是创建的类
public class WebApiController : ApiController
{
}
3.当前接口内就可以跨域访问了
相关文章推荐
- 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
- 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
- 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
- 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
- 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
- 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
- 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
- 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
- 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
- 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
- AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
- 关于AJAX调用ASP.NET MVC 或者WEBAPI项目提示I跨域问题的解决办法
- ASP.NET MVC & WebApi 中实现Cors来让Ajax可以跨域访问 (转载)
- 通过ajax 跨域访问asp.net webapi
- 让ASP.NET MVC不使用jsonp也可以跨域访问
- 关于ASP.NET MVC生成纯静态后如何不再走路由直接访问静态页面
- asp.net mvc中包含webapi时,token失效产生302的解决方案
- 关于Asp.Net MVC 中 UpdateModel 的未能更新***模型的 解决方案!
- 关于FckEditor基于Asp.net MVC中出现未结束的字符窜常量——解决方案
- 使Asp.net WebApi支持JSONP和Cors跨域访问