.netcore3.1 webApi项目,前端调用webapi时提示的跨域阻止,在IIS托管站点时,通过设置iis响应头参数,可以解决。
但是webapi.exe独立运行时,在程序中通过AddCore(),无论怎么设置都没有生效,不知道是什么原因?
1、在ConfigureServices中配置
2、在Configure中配置
回答
定义一个全局的AllowSpecificOrigin
private readonly string AllowSpecificOrigin = "AllowSpecificOrigin";
1、在ConfigureServices中配置
//设置允许所有来源跨域
services.AddCors(options => options.AddPolicy(AllowSpecificOrigin,
builder =>
{
builder.AllowAnyMethod()
.AllowAnyHeader()
.SetIsOriginAllowed(_ => true) // =AllowAnyOrigin()
.AllowCredentials();
}));
2、在Configure中配置
//CORS 中间件必须配置为在对 UseRouting 和 UseEndpoints的调用之间执行。 配置不正确将导致中间件停止正常运行。
app.UseCors(AllowSpecificOrigin);
希望能够帮到您!
更多关于.net core的内容请看《.NET Core 跨平台》