.NET Core - 即使在启用 CORS 后也出现 CORS 错误

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


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?}");

            });



}

原因可能是什么?


当年话下
浏览 664回答 2
2回答

尚方宝剑之说

这可能会有所帮助,注意:URL 不得包含尾部斜杠 (/)。如果 URL 以 / 结尾,则比较返回 false 并且不返回标头。

慕沐林林

所以,基本上就像 CRice 和 johnny 评论的那样,Internal server error被传播为 CORS 错误。由于处理应用程序中的所有错误是一种很好的做法,因此这样做将确保500 Internal Server Error即使在出现异常的情况下也会完好无损,并且不会被屏蔽为 CORS 错误。在这里可以更好地理解
打开App,查看更多内容
随时随地看视频慕课网APP