WebApi 跨域

要解決WebApi的跨域問題,可以通過nuget引入microsoft.aspnet.webapi.cors包,然后在WebApiConfig啟用跨域,代碼如下:

public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            // 跨域配置
            config.EnableCors(new EnableCorsAttribute("*", "*", "*"));

            // Web API 路由
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }

附微軟官方解決方案:https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/enabling-cross-origin-requests-in-web-api#set-the-allowed-request-headers

還沒完!

如果項目中使用了OWIN,那么以上配置對OWIN仍然無效,需要nuget引入Microsoft.Owin.Cors包,配置如下:

[assembly: OwinStartup(typeof(WanWei.LMS.WebApi.Startup))]
namespace WanWei.LMS.WebApi
{
    public partial class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            // OWIN跨域
            app.UseCors(CorsOptions.AllowAll);

            ConfigureAuth(app);
        }
    }
}

且,通過OWIN跨域后就是整站跨域了,不在需要前面的microsoft.aspnet.webapi.cors包的配置。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 之前的文章,我們了解了 WebAPI 的 Basic 基礎(chǔ)認(rèn)證,在這一章,我們就來了解一下,如何解決 WebAPI...
    李九lijiu閱讀 1,288評論 0 1
  • 1.web.config: 2.在每個controller加方法 public string Options() ...
    hptnt閱讀 729評論 0 0
  • 在接口調(diào)用的時候,需要考慮到接口的跨域請求。 在web.config配置中添加幾條配置即可 在部署到IIS上時,可...
    魏小廚閱讀 635評論 0 0
  • 602 賈涵 尊敬的鐵生: 您好! 說實話,我在讀你這本書之前,我對你的文字了解甚少,只是對幾篇太過有名的小說和...
    一花匠閱讀 520評論 1 3
  • 人際關(guān)系是每個社會人都要面對的關(guān)系,如何正確處理好這個關(guān)系,有很多學(xué)問,而適度依賴是構(gòu)建良好人際關(guān)系的橋梁...
    鴻運當(dāng)頭168閱讀 534評論 0 0

友情鏈接更多精彩內(nèi)容