Я только что создал стандартный API-интерфейс dotnet core 3.0 с базовым API прогноза погоды. Я хотел, чтобы CORS работал до того, как я сделал что-то еще с проектом.
При запуске у меня есть следующий код ....
private readonly string MyAllowSpecificOrigins = "_myAllowSpecificOrigins";
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy(MyAllowSpecificOrigins,
builder =>
{
builder.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod();
});
});
services.AddControllers();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
}
// 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.UseCors(MyAllowSpecificOrigins);
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
Как видите, я не делаюничего особенного или, казалось бы, неверного. Это прямо из документации MSDN .... https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-3.0
Проблема в том, что при отправке запросов через браузер и почтальон в данных ответах нет ожидаемых заголовков.
Я вырвал из этого дерьмо и ничего не получил. Я что-то пропустил? это может быть экологическим? он изменился по сравнению с предыдущей версией ядра?