netcore3.1 WebApi独立运行跨域设置无效

2020-10-26 10:24发布

.netcore3.1 webApi项目,前端调用webapi时提示的跨域阻止,在IIS托管站点时,通过设置iis响应头参数,可以解决。

但是webapi.exe独立运行时,在程序中通过AddCore(),无论怎么设置都没有生效,不知道是什么原因?

1、在ConfigureServices中配置

2、在Configure中配置

2条回答
叼着烟拽天下
2楼-- · 2020-10-26 11:07

  定义一个全局的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 跨平台》

查看更多
闹够了就滚
3楼-- · 2020-10-26 11:22

跨域设置本身没有问题,是因为代码里其他的配置导致跨域没有生效

查看更多
登录 后发表回答