使用Cors后台设置WebAPI接口跨域访问
Posted 强大的程序猿人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Cors后台设置WebAPI接口跨域访问相关的知识,希望对你有一定的参考价值。
昨天根据项目组前端开发工程师反映,在浏览器端无法直接使用ajax访问后台接口获取数据,根据他的反映,我查阅了相关跨域的解决方案:
一:使用jsonP,但是jsonP只能使用GET请求,完全不符合我项目的情况,于是继续找,找到了————
二:WEBAPI.CORE,引用几篇文章(http://www.cnblogs.com/OpenCoder/p/6890703.html,http://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接口跨域访问的主要内容,如果未能解决你的问题,请参考以下文章