CORS Angular 10 ASP.Net

#asp.net #angular #asp.net-core #angular-material #cors

#asp.net #угловой #asp.net-ядро #угловой-материал #cors

Вопрос:

У меня есть приложение, написанное на Angular 10, и Angular Material взаимодействует с моим бэкэндом на ASP.Сеть на том же сервере, но другой порт. Например: (Угловой интерфейс) http://something.com:5000 —> (Серверная часть ASP) http://something.com:5100

CORS блокирует меня, если я не использую расширение MOESIF CORS.

Я добавляю тег ‘DisableCors’ к каждому методу в ASP следующим образом:

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

  

Комментарии:

1. Спасибо, хансанд, это, к сожалению, не сработало для меня.