#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. Спасибо, хансанд, это, к сожалению, не сработало для меня.