我有一个aspnetcore web api被一个在本地工作正常的angularjs应用程序调用。我启用了CORS,因为这是我现在可以让客户端使用API的唯一方式(这似乎是有道理的,现在我需要担心其他事情)。CORS升级到aspnetcore 2.0后无法正常工作
升级到aspnetcore 2.0今日(因为它有几个特点,我可以真正使用)之后,我现在只是拿到我用使CORS之前得到了同样的错误:
否“访问控制-Allow-Origin'标题出现在请求的资源上。
我已将所有dotnetcore软件包升级到版本2.0(包括Microsoft.AspNetCore.Cors)。
这可能是值得指出的是,如下我还没有做出我的启动或配置改动任何代码是:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
app.UseCors(builder => builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader());
app.UseMvc();
}
public void ConfigureServices(IServiceCollection services)
{
services.Configure<Models.SmtpConfig>(Configuration.GetSection("Smtp"));
services.AddCors();
services.AddMvc();
}
由于这一切之前规定的罚款与aspnetcore 1.1和FYI我打算限制生产中的CORS,因此它只接受来自给定子域的呼叫,但目前尚未解决。
检查浏览器开发工具中的响应。当服务器实际上没有处理请求并且发送了500请求(在这种情况下,CORS头文件未被设置)时,我经常会遇到这种情况。 – poke
这是错误,我知道这是发生,但我不知道他们为什么没有被设置! –
再次阅读我的评论,并检查浏览器开发工具中的网络选项卡。 *“否”Access-Control-Allow-Origin'头文件'*是执行请求的浏览器发生错误,但是头文件丢失的原因可能是由于服务器错误。 – poke