C# WebApi UseCors无效的原因

C# MVC UseCros WithOrigins无效的原因

C# .Net Core  WithOrigins Not working

在.net core 中设置了cross domain policy,使用WithOrigins无效,但是AllowAnyOrigins可以的原因

刚开始的代码是这样的,设置之后无效:

builder.Services.AddCors(options =>
{

    options.AddPolicy(name: MyAllowSpecificOrigins,
                      builder =>
                      {
                          builder.WithOrigins("http://localhost:5002/")                          
                          .AllowAnyMethod()
                          .AllowAnyHeader()
                          .AllowAnyMethod()
                          .WithHeaders("origin");
                      });
});

浪费了一大段时间之后,发现是/引起的!

即 builder.WithOrigins("http://localhost:5002/") 这里最后一个"/"导致的,只要去掉末尾的"/",修改为 builder.WithOrigins("http://localhost:5002")即可解决问题

修改后代码如下:

builder.Services.AddCors(options =>
{

    options.AddPolicy(name: MyAllowSpecificOrigins,
                      builder =>
                      {
                          builder.WithOrigins("http://localhost:5002")                          
                          .AllowAnyMethod()
                          .AllowAnyHeader()
                          .AllowAnyMethod()
                          .WithHeaders("origin");
                      });
});