Нет такого атрибута, как EnableCorsAttribute(string origins, string headers, string methods)
в пакете Microsoft.AspNetCore.Cors
.
В вашем сценарии и на основе Включить запросы кросс-источника (CORS) в ASP.NET Core :
Если указанная конфигурация cors предназначена для всего приложения, то в Ваш ConfigureServices
метод добавьте cors services:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors();
}
, а затем глобальное промежуточное ПО cors в методе Configure
:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseCors(builder => builder
.WithOrigins("https://my.web.com", "http://localhost:5001")
.AllowAnyMethod()
.AllowCredentials()
.WithHeaders("Accept", "Content-Type", "Origin", "X-My-Header"));
//code omitted
}
Замените ("https://my.web.com", "http://localhost:5001")
на свое происхождение.
В случае, если вы хотите иметь более одной конфигурации cors, используйте метод ConfigureServices
:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("MyCorsPolicy", builder => builder
.WithOrigins("https://my.web.com", "http://localhost:5001")
.AllowAnyMethod()
.AllowCredentials()
.WithHeaders("Accept", "Content-Type", "Origin", "X-My-Header"));
});
}
в Configure
метод:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseCors("MyCorsPolicy");
//code omitted
}
и, наконец, в контроллере:
[EnableCors("MyCorsPolicy")]
public class MyController : Controller
{ ... }