Asp.net CORS选项飞行前悬挂

Asp.net CORS选项飞行前悬挂,asp.net,asp.net-web-api,cors,Asp.net,Asp.net Web Api,Cors,我有一个通过SSL托管的ASP Web API项目。我有另一个利用API的ASP MVC项目。调试时,我看到选项请求经常挂起(但不总是挂起)并阻止其他调用继续进行的行为 在Chrome调试器中,这些仅显示为“挂起”。如果启动Fiddler,一切正常。我看不出有任何错误,事情就这样悬而未决。这在它到达授权代码之前就失败了,所以我甚至不能设置任何断点 这可能是证书问题吗?防火墙?您是否可以尝试以下操作:在web.config中添加以下节点 <system.webServer> &

我有一个通过SSL托管的ASP Web API项目。我有另一个利用API的ASP MVC项目。调试时,我看到选项请求经常挂起(但不总是挂起)并阻止其他调用继续进行的行为

在Chrome调试器中,这些仅显示为“挂起”。如果启动Fiddler,一切正常。我看不出有任何错误,事情就这样悬而未决。这在它到达授权代码之前就失败了,所以我甚至不能设置任何断点


这可能是证书问题吗?防火墙?

您是否可以尝试以下操作:在web.config中添加以下节点

<system.webServer>
    <handlers>
         <!-- your other handlers -->
         <remove name="OPTIONSVerbHandler" />
    </handlers>
</system.webServer>


Adam,如果您正在使用此功能,请告诉我:?我没有使用它。我尝试了一些东西,但最终还是选择了Thinktecture的。这些包裹都没有改变我看到的效果,我的也挂着。。Chrome的选项状态为“待定”。这对我来说是断断续续的。我还在子域中使用SSL(HTTPS)url。所以我知道飞行前的请求失败了。我看到firefox、fiddler和SSL/TLS上都挂着
OPTIONS
。发生在大约3/4的请求中。令人沮丧,因为我不知道如何调试它。浏览器似乎已发送了请求,但从未命中CORS处理程序中的断点。在完整的IIS上运行,而不是IISExpress。Fiddler将请求显示为已发送但未响应,因此我想这排除了浏览器是黑洞的可能性。您是如何获得SSL证书的?是自己签名的吗?换句话说,它是否向您发出警告,并且您在第一次访问网站时必须手动接受证书?如果是这样的话,那就是你的请求没有通过的问题。尝试用HTTP测试它