.NET Core-即使启用了CORS,CORS错误

时间:2018-07-15 18:27:36

标签: c# asp.net-core cors angular5 cross-origin-read-blocking

我试图调用WebAPI方法以获取一些数据,但是即使我在启动时在ConfigureConfigs方法中启用了CORS并在启动时在Configure方法中使用了策略,它也会抛出Cross-Origin Read Blocking (CORB) blocked cross-origin response https://localhost:44332/api/Controller/Action with MIME type text/html.

public void ConfigureServices(IServiceCollection services)
        {

            services.AddCors(options =>
            {
                options.AddPolicy("AllowAll",
                    builder =>
                    {
                        builder
                            .WithOrigins("http://localhost:4200/")
                            .AllowAnyMethod()
                            .AllowAnyHeader()
                            .AllowCredentials();
                    });
            });

            services.AddMvc();
        }

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            .....
            app.UseCors("AllowAll");
            app.UseHttpsRedirection();
            app.UseStaticFiles();
            app.UseCookiePolicy();
            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });


}

原因可能是什么?

2 个答案:

答案 0 :(得分:0)

因此,基本上,正如CRice和johnny所评论的那样,Internal server error会作为CORS错误传播。

由于优良作法是处理应用程序中的所有错误,因此即使在发生异常的情况下,这样做也可以确保500 Internal Server Error完整无缺,并且不会被屏蔽为CORS错误。

可以更好地理解here

答案 1 :(得分:0)

这可能会有所帮助,

注意:URL 不得包含尾部斜杠 (/)。如果 URL 以 / 结尾,则比较返回 false 并且不返回标头。