Asp.net core 从.net core 2.2迁移到.net core 3.0时出现CORS问题
当我从.net core 2.2迁移到.net core 3.0时,我遇到了cors问题Asp.net core 从.net core 2.2迁移到.net core 3.0时出现CORS问题,asp.net-core,Asp.net Core,当我从.net core 2.2迁移到.net core 3.0时,我遇到了cors问题 public void Configure(IApplicationBuilder app, IHostEnvironment env, Microsoft.AspNetCore.Hosting.IApplicationLifetime applicationLifetime) { NLog.LogManager.Configuration = new NLogL
public void Configure(IApplicationBuilder app, IHostEnvironment env, Microsoft.AspNetCore.Hosting.IApplicationLifetime applicationLifetime)
{
NLog.LogManager.Configuration = new NLogLoggingConfiguration(Configuration.GetSection("NLog"));
LogManager.Configuration.Variables["connectionString"] = Encryptor.GetNLogDB();
LogManager.Configuration.Variables["ApplicationName"] = env.ApplicationName;
LogManager.Configuration.Variables["EnvironmentType"] = env.EnvironmentName;
app.UseStaticFiles();
app.UseRouting();
app.UseCors("AllowAll");
applicationLifetime.ApplicationStopping.Register(OnShutdown);
applicationLifetime.ApplicationStarted.Register(OnStarted);
app.UseAuthentication();
app.UseAuthorization();
app.UseLogAndExceptionHandler();
//app.UseCors();
//app.UseSignalR(routes =>
//{
// routes.MapHub<ApplicationHub>(SignalRHub);
// routes.MapHub<QuillHub>(QuillHub);
//});
app.UseEndpoints(endpoints => {
endpoints.MapControllers();
});
//app.UseMvc();
Initialize(app);
}
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowAll",
builder => builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader().AllowCredentials());
});
}
public void配置(IApplicationBuilder应用程序、IHostEnvironment环境、Microsoft.AspNetCore.Hosting.IApplicationLifetime应用程序LifeTime)
{
NLog.LogManager.Configuration=新的NLogLoggingConfiguration(Configuration.GetSection(“NLog”);
LogManager.Configuration.Variables[“connectionString”]=Encryptor.GetNLogDB();
LogManager.Configuration.Variables[“ApplicationName”]=env.ApplicationName;
LogManager.Configuration.Variables[“EnvironmentType”]=env.EnvironmentName;
app.UseStaticFiles();
app.UseRouting();
附录UseCors(“AllowAll”);
applicationLifetime.ApplicationStopping.Register(OnShutdown);
applicationLifetime.ApplicationStarted.Register(OnStarted);
app.UseAuthentication();
app.UseAuthorization();
app.UseLogAndExceptionHandler();
//app.UseCors();
//app.usesigner(路由=>
//{
//路线:MapHub(SignalRHub);
//路线:MapHub(QuillHub);
//});
app.UseEndpoints(端点=>{
endpoints.MapControllers();
});
//app.UseMvc();
初始化(app);
}
public void配置服务(IServiceCollection服务)
{
services.AddCors(选项=>
{
options.AddPolicy(“AllowAll”,
builder=>builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader().AllowCredentials());
});
}
运行此命令时,我收到一个错误,表示我不能同时使用AllowOnOrigin和AllowCredentials,当我删除其中任何一个命令时,运行时错误已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:响应中的“访问控制允许来源”头的值不得为当请求的凭据模式为“包括”时,使用通配符“*”。XMLHttpRequest启动的请求的凭据模式由withCredentials属性控制
我希望允许所有来源。基于,AllowOnOrigin和AllowCredentials不能一起使用 尝试使用
SetIsOriginAllowed
作为解决方法
services.AddCors(options =>
{
options.AddPolicy("AllowAll",
builder => builder.AllowAnyMethod()
.AllowAnyHeader()
.SetIsOriginAllowed(_ => true)
.AllowCredentials());
});
基于,AllowOnOrigin和AllowCredentials不能一起使用 尝试使用
SetIsOriginAllowed
作为解决方法
services.AddCors(options =>
{
options.AddPolicy("AllowAll",
builder => builder.AllowAnyMethod()
.AllowAnyHeader()
.SetIsOriginAllowed(_ => true)
.AllowCredentials());
});