AddCors 在 asp.net 5.0 中不起作用。如何启用它?
Posted
技术标签:
【中文标题】AddCors 在 asp.net 5.0 中不起作用。如何启用它?【英文标题】:AddCors is not working in asp.net 5.0. How do I enable it? 【发布时间】:2021-08-15 03:50:18 【问题描述】:所以我的问题是我尝试启用 CORS,按照教程进行操作,但仍然无法正常工作。我的 startup.cs 看起来像这样(我包括我尝试启用 CORS 的方法)。任何帮助将不胜感激:
ConfigureServices 方法:
public void ConfigureServices(IServiceCollection services)
services.AddCors(options=>options.AddDefaultPolicy(builder=>builder.AllowAnyOrigin()));
services.AddControllers();
services.Add(new ServiceDescriptor(typeof(ApplicationDbContext),
new ApplicationDbContext(Configuration.GetConnectionString("DefaultConnection"))));
然后我尝试在 Configure 方法中使用 cors。
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
if (env.IsDevelopment())
app.UseDeveloperExceptionPage();
app.UseHttpsRedirection();
app.UseRouting();
app.UseCors();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
endpoints.MapControllers();
);
我使用最新的 .NET 核心版本。
错误具体是: 从源“http://localhost:3000”访问“http://localhost:5000/api/cities”的 XMLHttpRequest 已被 CORS 策略阻止:没有“Access-Control-Allow-Origin”标头请求的资源
提前致谢。
【问题讨论】:
【参考方案1】:尝试使用此语法并为策略分配名称
services.AddCors(o => o.AddPolicy("AllowAnyOrigins", builder =>
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
));
.......
app.UseRouting();
app.UseCors("AllowAnyOrigins");
app.UseAuthorization();
【讨论】:
以上是关于AddCors 在 asp.net 5.0 中不起作用。如何启用它?的主要内容,如果未能解决你的问题,请参考以下文章