ASP.NET 5 / Core / vNext CORS不工作,即使允许几乎一切 [英] ASP.NET 5/Core/vNext CORS not working even if allowing pretty much everything

查看:200
本文介绍了ASP.NET 5 / Core / vNext CORS不工作,即使允许几乎一切的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个ASP.NET 5 Web API(嗯,现在MVC现在)后端,我消耗与

  • 对于实际的POST请求(此请求不通过):


  • 解决方案

    问题实际上是在处理POST请求的动作中有一个异常,正如Norgerman所说,默认的异常处理程序清除了CORS头。


    I have a ASP.NET 5 Web API (Well, MVC now anyway) back-end which I am consuming in with the axios library in my JS app.

    My CORS config in MVC is the following:

    public void ConfigureServices(IServiceCollection services)
    {
          services.AddMvc();
          services.AddCors();
    } 
    
    
    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    { 
          app.UseCors(builder => {
              builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader();
          });
    }
    

    So in other words, I should be allowing every request possible. However, while this fixed preflight requests, a POST requests still gets rejected (I can see it executes on the server, but there's no header in the response so it results in a client side error).

    Does anyone have any ideas why this wouldn't work ?

    These are the headers that are returned by the MVC api:

    • For the OPTIONS preflight (this one passes):
    • For the actual POST request (this one does NOT pass):

    解决方案

    The problem was actually in the fact that there was an exception in the action processing the POST request and as Norgerman mentioned, the default exception handler cleared the CORS headers.

    这篇关于ASP.NET 5 / Core / vNext CORS不工作,即使允许几乎一切的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆