1. 程式人生 > >使用Cors後臺設置WebAPI接口跨域訪問

使用Cors後臺設置WebAPI接口跨域訪問

很多 resolve 修改 get請求 目的 下載 無法 quest 獲取數據

昨天根據項目組前端開發工程師反映,在瀏覽器端無法直接使用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接口跨域訪問