为什么CORS阻止.NetCore中的角度请求

时间:2019-03-13 21:32:02

标签: asp.net-core cors

我收到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的功能。

0 个答案:

没有答案