使用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

posted on 2017-10-31 09:40  强大的程序猿人  阅读(2058)  评论(0编辑  收藏  举报