我收到CORS错误:
在以下位置访问XMLHttpRequest 原产地的“ http://localhost:5000/api/MessageBroadcast/GetByDate” “ http://localhost:4200”已被CORS政策禁止:否 请求中存在“ Access-Control-Allow-Origin”标头 资源。 [http://localhost:4200/]
从Angular调用.NetCore Web API时
我已经在应用程序中设置了cors:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseCors(
options => options.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin().AllowCredentials()
);
app.UseMvc();
}
尽管已进行设置,但无法识别呼叫并继续给出错误。
我已经在邮递员中进行了测试,以验证api是否返回正确的数据。
更新
根据评论请求,我更改了此代码:
app.UseCors(
options => options.AllowAnyHeader().AllowAnyMethod().WithOrigins("http://localhost:4200").AllowCredentials()
);
我仍然遇到问题
更新2
我还试图将Enable Cors属性添加到各个方法中,以防万一:
[EnableCors]
更新3
我交换了以下两个注册的顺序:
app.UseCors(options => options.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod());
app.UseMvc();
此问题已解决。
net :: ERR_CERT_AUTHORITY_INVALID
当我注释掉:
app.UseHttpsRedirection();
该应用现在可以正常运行。显然,我更喜欢使用HTTPS的功能。