要解决ASP.NET Core 2.2中CORS没有设置“Access-Control-Allow-Origin”头的问题,可以按照以下步骤操作:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowOrigin",
builder => builder.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod());
});
// 其他配置代码...
}
这段代码创建了一个名为"AllowOrigin"的CORS策略,允许任何来源、任何头部和任何方法的请求。
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseCors("AllowOrigin");
// 其他配置代码...
}
这段代码将CORS中间件添加到请求管道中,并使用之前定义的“AllowOrigin”策略。
[EnableCors("AllowOrigin")]
public class MyController : Controller
{
// 控制器方法...
}
这段代码将特定的控制器或API方法与之前定义的“AllowOrigin”策略关联起来,以便在请求时应用该策略。
通过执行以上步骤,你就可以在ASP.NET Core 2.2中设置CORS策略并添加"Access-Control-Allow-Origin"头,以允许跨域请求。