.Net cors政策问题

.Net cors policy issue

我有一个 Web 项目:.Net 核心 API 作为后端,React 应用程序作为前端,除 Mozilla 私人选项卡外,所有浏览器都运行良好。当我 运行 我在 Mozilla private window 中的反应应用程序时,出现此错误:

跨源请求被阻止:...原因:CORS 请求未成功

但是如果我的 cors 策略不正确,其他浏览器怎么能毫无问题地连接我的后端? (p.s Mozilla 普通选项卡也可以正常工作)

问题:问题是什么,我该如何解决?

这里有很多相同的问题:) 我现在面临同样的问题。

经过数百次尝试,我 semi-solition:

Startup.cs:

public void ConfigureServices(IServiceCollection services)
{
  services.AddCors();
  //some other code here...
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
  //some code...
  app.UseRouting();

  app.UseCors(x => x
              .SetIsOriginAllowed(origin => true)
              .AllowAnyMethod()
              .AllowAnyHeader()
              .AllowCredentials()
              .Build());   

 app.UseAuthorization();
 //other code
}

在 React 应用中:

export const loginUser = createAsyncThunk(
  'user/loginUser',
   async function(loginCredentials, {rejectWithValue}) {      
   try {                
       const response = await fetch(`https://localhost:5001/usr/loginuser`, {                
             method: 'POST',                
             headers: {                                                                          
                 'Content-Type': 'text/plain',
                 'Accept': 'text/plain',
             },
             body: JSON.stringify({loginCredentials})
         });
           
         if (!response.ok) {
              throw new Error('Server Error!');
        }

//other code

使用这段代码,我遇到了大多数请求失败的情况(在浏览器中看起来像 'fetch canceled'),但大约 30% 的请求成功了。这就是为什么我称它为“半”解决方案。

不知道发生了什么,因为失败和正常的请求是相同的(headers 和 body)。