CORS Angular 10 ASP.Net

Posted

技术标签:

【中文标题】CORS Angular 10 ASP.Net【英文标题】: 【发布时间】:2021-02-13 05:23:39 【问题描述】:

我有一个用 Angular 10 和 Angular Material 编写的应用程序,在同一台服务器上与我在 ASP.Net 中的后端进行通信,但端口不同。 例如:(Angular 前端)http://something.com:5000 -->(ASP 后端)http://something.com:5100

除非我使用 MOESIF CORS 扩展,否则我会被 CORS 阻止。

我正在向 ASP 中的每个方法添加“DisableCors”标签,如下所示:

        [HttpGet("Travelers")]
        [DisableCors]
        public IEnumerable<PDox_Trav> Get_Trav()

在我的“Startup.cs”中有这个:

        public void ConfigureServices(IServiceCollection services)
        
            services.AddCors(options => 
                options.AddDefaultPolicy(builder => 
                    builder.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin();
                );
            );

            services.AddControllers();
            services.AddSingleton<IActionContextAccessor, ActionContextAccessor>();
        


        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        
            if (env.IsDevelopment())
            
                app.UseDeveloperExceptionPage();
            

            app.UseHttpsRedirection();

            app.UseRouting();

            app.UseCors();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            
                endpoints.MapControllers();
            );
        

我错过了什么?我的前端也需要一些东西吗?我没想到我做到了...

【问题讨论】:

【参考方案1】:

我正在添加cors,如下所示。我在几个项目中使用了这种方法并且它有效。

            services.AddCors(o => o.AddPolicy("CorsPolicy", builder =>
                builder
                .AllowAnyMethod()
                .AllowAnyHeader()
               .WithOrigins("http://localhost:5000","http://localhost:4200");
            ));

【讨论】:

谢谢你,不幸的是,这对我没有用。

以上是关于CORS Angular 10 ASP.Net的主要内容,如果未能解决你的问题,请参考以下文章

CORS Angular 10 ASP.Net

我如何管理 Angular 10 中的 CORS 错误?我已经使用代理,但我需要生产解决方案 [关闭]

Angular CORS 请求被阻止

Angular $resource 和自托管 WebAPI 的 CORS 问题

Angular:如何设置代理以避免 CORS 错误

即使在设置 CORS 标头和服务器响应之后,Angular 和 laravel 的 CORS 问题[重复]