【发布时间】:2019-07-16 05:44:49
【问题描述】:
我已经安装了 NuGet 包 Microsoft.AspNetCore.Cors 2.2.0 然后在我的 .net 核心 webAPI Startup.cs 中,我完成了以下操作:
public void ConfigureServices(IServiceCollection services) {
......
services.AddCors();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseCors(options =>
options.WithOrigins("http://localhost:52556")
.AllowAnyMethod()
.AllowAnyHeader());
app.UseMvc();
}
然后,当我在控制台中从我的 Angular 应用程序发送发布请求时,我看到了这个错误:
在“http://localhost:52556/api/PaymentDetail”访问 XMLHttpRequest 来自原点“http://localhost:4200”已被 CORS 策略阻止: 对预检请求的响应未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。
我以为我已经启用了 CORS,但似乎有什么东西阻止了它。有什么办法可以解决这个问题?
【问题讨论】:
-
你做错了。在
localhost:52556运行的任何东西都不认可原点localhost:4200。我不知道您将显示的代码放在其中的哪个位置,但它的来源错误。 -
删除 options.WithOrigins 或添加 localhost:4200 ,这样可以正常工作。
标签: c# angular asp.net-web-api cors