【发布时间】:2020-03-30 06:18:15
【问题描述】:
我正在使用 Angular 8 和 .net core 3.0.1 尝试学习有关 Web 应用程序开发的知识。 不幸的是,当我尝试将一些数据从我的 .net 核心 webapi 调用到 Angular 框架应用程序时,我遇到了一些问题。在浏览器控制台中,我收到有关 CORS 访问的错误。
从源“http://localhost:4200”访问“https://localhost:5001/api/user/pagewise/1/10”处的 XMLHttpRequest 已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。
我以为我已经在我的 webapi Startup.cs 中激活了 Cors:
...
public void ConfigureServices(IServiceCollection services)
{
_connectionString ="XXX";
services.AddCors( opt =>
{
opt.AddPolicy("CorsPolicy",
c => c.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader());
})
;
services.AddControllers();
services.AddEntityFrameworkNpgsql()
.AddDbContext<ApiContext>(
opt => opt.UseNpgsql(_connectionString));
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, DataSeed seed)
{
if (env.IsDevelopment())
{
app.UseCors("CorsePolice");
app.UseDeveloperExceptionPage();
}
app.UseCors("CorsePolice");
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapControllerRoute("default", "api/{controller}/{action}/{id?}");
endpoints.MapControllers().RequireCors("CorsPolicy");
});
}
但它似乎不起作用。在 .net core 3.0.1 WebApi 中使用 Cors 有什么不同的方法吗?
【问题讨论】:
标签: angular cors asp.net-core-webapi