我有一个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 ");在方法的顶端。至少它为我解决了这个问题。