C# 无法在.net core 3.1 web api中找出COR
我尝试将所有方法调用移动不少于10000次。我需要尝试编号10001才能成为赢家我做错了什么? 我不断得到与CORS相关的错误,但我已经按照指南尝试解决它C# 无法在.net core 3.1 web api中找出COR,c#,reactjs,asp.net-core,cors,C#,Reactjs,Asp.net Core,Cors,我尝试将所有方法调用移动不少于10000次。我需要尝试编号10001才能成为赢家我做错了什么? 我不断得到与CORS相关的错误,但我已经按照指南尝试解决它 public void ConfigureServices(IServiceCollection services) { services.AddCors(options => { options.AddDefaultPoli
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddDefaultPolicy(
builder =>
{
builder.WithOrigins("http://localhost:3000").AllowAnyHeader().AllowAnyMethod();
});
});
//services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
services.AddControllers();
services.AddAuthentication(IISDefaults.AuthenticationScheme);
services.AddSwaggerGen();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "MES vs API");
});
app.UseHttpsRedirection();
app.UseRouting();
app.UseCors("AllowAnyOrigin");
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
在react中,我有以下内容:
fetch('http://localhost:44387/api/Users/GetTest').then(function (response) {
this.state.user = response.text();
});
您正在发出http请求,但已启用HttpsRedirection 如果开发时没有https,则应移动
app.UseHttpsRedirection()代码>调用仅在生产环境中运行的代码块。e、 g
public void配置(IApplicationBuilder应用程序,IWebHostEnvironment环境)
{
if(env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
其他//生产
{
app.UseHttpsRedirection();
}
app.UseSwagger();
app.UseSwaggerUI(c=>
{
c、 SwaggerEndpoint(“/swagger/v1/swagger.json”,“MES vs API”);
});
app.UseRouting();
app.UseCors();//使用示例代码中定义的默认策略
//...
此外,您正在添加默认的CORS策略,但当您调用UseCors()
时,您正在使用命名策略(AllowAnyOrigin)
定义一个命名策略“AllowAnyOrigin”,或者只需调用app.UseCors();
即可使用默认策略
您正在发出http请求,但已启用HttpsRedirection
如果开发时没有https,则应将app.UseHttpsRedirection();
调用移动到仅在生产环境中运行的代码块中
public void配置(IApplicationBuilder应用程序,IWebHostEnvironment环境)
{
if(env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
其他//生产
{
app.UseHttpsRedirection();
}
app.UseSwagger();
app.UseSwaggerUI(c=>
{
c、 SwaggerEndpoint(“/swagger/v1/swagger.json”,“MES vs API”);
});
app.UseRouting();
app.UseCors();//使用示例代码中定义的默认策略
//...
此外,您正在添加默认的CORS策略,但当您调用UseCors()
时,您正在使用命名策略(AllowAnyOrigin)
定义一个命名策略“AllowAnyOrigin”,或者只需调用app.UseCors();
即可使用默认策略
你能试着用这种方法吗
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseCors("AllowAnyOrigin");
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "MES vs API");
});
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
你能试着这样用吗
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseCors("AllowAnyOrigin");
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "MES vs API");
});
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
在设置CORS策略时,我将其用于依赖项注入容器
//CORS CONFIGURATION
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.SetIsOriginAllowed(_ => true)
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
//ALLOW CORS
app.UseCors("CorsPolicy");
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
然后应用CORS策略
//CORS CONFIGURATION
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.SetIsOriginAllowed(_ => true)
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
//ALLOW CORS
app.UseCors("CorsPolicy");
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
在设置CORS策略时,我将其用于依赖项注入容器
//CORS CONFIGURATION
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.SetIsOriginAllowed(_ => true)
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
//ALLOW CORS
app.UseCors("CorsPolicy");
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
然后应用CORS策略
//CORS CONFIGURATION
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.SetIsOriginAllowed(_ => true)
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
//ALLOW CORS
app.UseCors("CorsPolicy");
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
我已设法使客户端上的API调用保持(挂起)状态。因此………请在react应用程序中打开开发控制台,并在控制台的“网络”选项卡下检查HTTP调用。在特定调用上是“访问控制允许源”响应标题中是否存在标题?直到我在Startup.cs中乱了方才出现-导致我发布的代码。现在它处于挂起状态,然后最终在F12中出现连接重置错误而失败。这需要几分钟的时间。app.UseHttpsRedirection()
move it over move it over move it?to where?我已设法使客户端上的API调用保持(挂起)状态。因此………请在react应用程序中打开开发控制台,并在控制台的“Network”选项卡下检查HTTP调用。在特定调用上是“Access Control Allow Origin”响应标题中是否存在标题?直到我在Startup.cs中乱了方才出现-导致我发布的代码。现在它处于挂起状态,然后最终在F12中出现连接重置错误而失败。这需要几分钟的时间。app.UseHttpsRedirection()
将其移到其他位置?移到哪里?这是否改变了它可以同时在http和https模式下工作?@MuhammetCaylak在开发中同时使用http和https(如果安装了证书)。在生产中它将只使用https。这是否改变了它可以同时在http和https模式下工作?@MuhammetCaylak在开发中同时使用http和https(如果安装了证书)。在生产中,它将仅使用https