asp.net - .NET Core 2.0中的CORS "No ' Access-Control-Allow-Origin header 出现在所请求的资源上。”

标签 asp.net asp.net-core cors

我已经使用Core 2.0创建了一个Web API,并且在启用启用了cors的跨域调用时,收到以下错误:“所请求的资源上没有'Access-Control-Allow-Origin' header 。”

以下是我在startup.cs中的配置:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddLogging();
        services.AddMvc();
        services.AddCors(options =>
        {
            options.AddPolicy("AllowAll",
                builder =>
                {
                    builder
                    .AllowAnyOrigin()
                    .AllowAnyMethod()
                    .AllowAnyHeader();
                });
        });

        services.Configure<MvcOptions>(options =>
        {
            options.Filters.Add(new CorsAuthorizationFilterFactory("AllowAll"));
        });
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        loggerFactory.AddConsole(Configuration.GetSection("Logging"));
        loggerFactory.AddDebug();
        app.UseMvc();
        app.UseCors("AllowAll");    
    }

根据我在stackoverflow或其他地方看到的每篇帖子/教程,这是允许所有来源的正确方法。我想念什么?

最佳答案

尝试调用:app.UseCors("AllowAll"); ,然后再调用 app.UseMvc();

documentation声明以下内容:

To enable CORS for your entire application add the CORS middleware to your request pipeline using the UseCors extension method. Note that the CORS middleware must precede any defined endpoints in your app that you want to support cross-origin requests (ex. before any call to UseMvc).

关于asp.net - .NET Core 2.0中的CORS "No ' Access-Control-Allow-Origin header 出现在所请求的资源上。”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48649878/

相关文章:

c# - 使用 DataTable.js 在 asp.net gridview 中使用下拉列表进行列式过滤器

javascript - ASP.NET 用户在线状态存储

asp.net - 为什么要在 OAuthAuthorizationServerProvider.GrantRefreshToken 中添加声明?

mysql - .NET Core 延迟峰值 - MySQL 和 Redis 偶尔无法连接

eclipse - CORS 过滤器没有更改我的 header

c# - ASP.Net WebApi : return data in json and xml formats

c# - ASP.Net Cookie 未保存到浏览器

c# - ASP.NET Core MVC 过滤器是单例的吗?

javascript - Ajax 请求因 Origin 'null' 而被拒绝,origin 是相同的并且不在本地主机或本地文件上

angular - Azure Web 应用程序服务 - Angular 应用程序调用 login.microsoft.com CORS 问题