netcore3.0框架已集成了Microsoft.AspNetCore.Mvc.Cors包,因此不需要单独引用。
在ConfigureServices中添加Cors策略服务
services.AddCors(options => { options.AddPolicy("AllowAllOrigins", builder => builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod().AllowCredentials()); });
在Configure中添加到中间件中
app.UseCors("AllowAllOrigins");
【注:策略名可以任意自定义,但是前后必须对应,当然可以设置多个策略】
》》》你以为这样就结束了吗?运行起来发现报错了:
原因是新版的Cors中间件已经阻止使用允许任意Origin,也就是说即使你配置了AllowAllOrigin()也不会生效。解决办法是使用WithOrigins进行设置:
policy.AllowAnyHeader().AllowAnyMethod().AllowCredentials().WithOrigins(new []{"http://localhost:5000"});
原文:https://www.cnblogs.com/az4215/p/11910346.html