Asp.net Chrome中的第一个Ajax请求失败,在Firefox和IE中成功

Asp.net Chrome中的第一个Ajax请求失败,在Firefox和IE中成功,asp.net,angular,google-chrome,asp.net-web-api,iis-7,Asp.net,Angular,Google Chrome,Asp.net Web Api,Iis 7,我有一个Angular2应用程序与一个ASP.NET WebAPI端点通信,该端点使用Windows Auth进行身份验证,在Chrome中第一次请求时无法响应 应用程序的第一次访问向需要身份验证的端点发出请求。在Chrome中,选项请求成功,在应用程序中,选项请求被配置为始终成功,但当GET请求发出时,它失败。在“开发工具”中的“请求标题”下,它显示该请求的临时标题警告消息。刷新浏览器时,端点将成功响应 在IE11和Firefox中,它按预期工作,选项和GET请求成功 不确定这是Angular

我有一个Angular2应用程序与一个ASP.NET WebAPI端点通信,该端点使用Windows Auth进行身份验证,在Chrome中第一次请求时无法响应

应用程序的第一次访问向需要身份验证的端点发出请求。在Chrome中,选项请求成功,在应用程序中,选项请求被配置为始终成功,但当GET请求发出时,它失败。在“开发工具”中的“请求标题”下,它显示该请求的临时标题警告消息。刷新浏览器时,端点将成功响应

在IE11和Firefox中,它按预期工作,选项和GET请求成功

不确定这是Angular2、ASP.NET WebAPI还是IIS配置问题

更新 这似乎与Chrome如何实现HTTP/2有关。如果HTTP/2请求失败,Firefox将使用HTTP/1.1再次尝试该请求

更新2

Chrome存储第一个请求协议,并将该协议用于将来的请求。我的选项请求总是以200次成功响应HTTP/2请求。哪个chrome存储为yes此服务器支持HTTP/2请求,请继续使用它。当API GET请求带有NTLM身份验证时,它会失败,因为HTTP/2不支持NTLM身份验证。Chrome会存储该故障,下一次它将尝试HTTP/1.1,成功。我已经向Chromium提交了一份错误报告,因为我认为它应该将所有NTLM身份验证请求视为HTTP/1.1,因为HTTP/2不支持NTLM