使用Cors后台设置WebAPI接口跨域访问

Posted 强大的程序猿人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Cors后台设置WebAPI接口跨域访问相关的知识,希望对你有一定的参考价值。

昨天根据项目组前端开发工程师反映,在浏览器端无法直接使用ajax访问后台接口获取数据,根据他的反映,我查阅了相关跨域的解决方案:

一:使用jsonP,但是jsonP只能使用GET请求,完全不符合我项目的情况,于是继续找,找到了————

二:WEBAPI.CORE,引用几篇文章(http://www.cnblogs.com/OpenCoder/p/6890703.htmlhttp://www.cnblogs.com/OpenCoder/p/6893052.html

详细介绍了跨域的原因以及解决方法,下面就我使用的时候遇到的问题进行说明

使用Nuget下载程序包Microsoft.AspNet.WebApi.Cors 5.2.3.0,在使用过程中,发现这个版本只能兼容.net4.5以上的版本,由于我的项目之前建的是4.0,因此修改属性为4.5,修改之后,很多的.dll版本与4.5不对应,于是更新了那些dll引用,这里特别要注意Microsoft.Net.Http这个dll,应该与cors的版本一致,这些东西都修改好了以后,编译通过,但是在加载路由的抛异常了,

异常为:安全透明方法“System.Web.Http.GlobalConfiguration.get_Configuration()”尝试。。。。

找了很多的方法,涉及到很多的知识,最终采用了这个帖子解决了跨域访问的问题(https://stackoverflow.com/questions/18476370/how-do-i-resolve-the-error-attempt-by-security-transparent-method-system-web-h)

使用install-package \'Microsoft.AspNet.WebApi.OData -pre

以上是关于使用Cors后台设置WebAPI接口跨域访问的主要内容,如果未能解决你的问题,请参考以下文章

初始WebApi

WebApi 跨域问题解决方案:CORS

CORS解决WebApi跨域问题(转)

ASP.NET MVC & WebApi 中实现Cors来让Ajax可以跨域访问 (转载)

springboot webapi 支持跨域 CORS

enablecors-webapi跨域 为何不能实现?都有哪些注意事项