C# .NET 5对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头

C# .NET 5对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头,c#,.net,.net-core,cors,.net-5,C#,.net,.net Core,Cors,.net 5,我目前正在尝试在.NETCore5API上启用CORS。非飞行前、跨原点请求工作正常;但是,所有选项请求都会产生上述消息。我的Startup.cs看起来像这样: 公共无效配置服务服务服务收集服务 { services.AddCorsoptions=> { options.AddPolicycorsPolicyName,生成器=> { 建设者 .维索iginshttp://localhost:3000 A.阿洛万领队 .AllowAnyMethod .AllowCredentials; }; };

我目前正在尝试在.NETCore5API上启用CORS。非飞行前、跨原点请求工作正常;但是,所有选项请求都会产生上述消息。我的Startup.cs看起来像这样:

公共无效配置服务服务服务收集服务 { services.AddCorsoptions=> { options.AddPolicycorsPolicyName,生成器=> { 建设者 .维索iginshttp://localhost:3000 A.阿洛万领队 .AllowAnyMethod .AllowCredentials; }; }; ... } public void ConfigureIApplicationBuilder应用程序,IWebHostEnvironment环境 { app.UseHttpsRedirection; app.UseRouting; app.UseCorscorsPolicyName; app.UseAuthorization; app.UseEndpointsendpoints=> { endpoints.MapController; }; } 在浏览了其他几个线程之后,我似乎无法找出我的配置有什么问题。非常感谢您的帮助。

删除:

.AllowCredentials();
并在UseRouting和UseAuthorization之间移动app.UseCorscorsPolicyName:


  app.UseHttpsRedirection();
  app.UseRouting();
app.UseCors(corsPolicyName);
  app.UseAuthorization();


在我的API上启用匿名身份验证修复了该问题。选项请求不包括凭据,因此不允许匿名身份验证会导致它们被拒绝


可以通过转到项目的属性>调试>检查启用匿名身份验证来启用匿名身份验证。

不幸的是,这并没有解决我的问题。谢谢你的建议;我更新了我的示例以反映这一变化。奇怪的是,这确实解决了我的问题……我知道你自己回答了这个问题,但如果看到a是应该处理请求的控制器,b是你正在发出的请求,这将是很有帮助的。