从 .NET Core 2.1 迁移到 v3.1 后出现"Blocked by CORS"错误



我有一个Web应用程序,最初是在。net Core v2.1中编写的。

在我把它迁移到。net Core v3.1之后-我所有的UI请求都抛出以下错误:*Access to XMLHttpRequest at 'https://myapp.net/v1/myendpoint' from origin 'https://mainapp.net' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.*

这是我的Startup.cs:

public void ConfigureServices(IServiceCollection services)
{
...
services.AddCors(options =>
{
options.AddPolicy("MyCorsPolicy", builder => builder
.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader());
});
...
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.MyRequireTLSOnRemoteConnections(); // <-- (proprietary)
if (env.EnvironmentName == "Development")
{
app.UseDeveloperExceptionPage();
}
app.UseAuthentication();
app.UseReportingAuthentication();
app.UseCors("MyCorsPolicy");
app.UseSwagger();
...
}

我有意删除了app. usehttpredirection ();禁用HTTP调用

这个问题是特定于ui的,在通过Postman执行端点时不会发生。

我已经尝试了不同的选项,我已经能够在互联网上找到,像:

  • 在app.UseCors()之前添加app.UseRouting();;

似乎是我的问题的解决方案是移动app.UseCors(" mycorspoly ");在方法的顶端。至少它为我解决了这个问题。

相关内容

  • 没有找到相关文章

最新更新