选项在请求API时偶尔请求暂时挂起

时间:2015-10-12 08:11:23

标签: javascript c# request fetch

目前我遇到了对API端点的GET请求有问题。 在非常罕见的情况下,OPTIONS请求将永久显示为待处理(在Google Chrome中),因此GET请求无法执行。在99%的请求中,一切正常,但有时却没有。

以下是我的工作:

我尝试通过GET调用以下C#API端点:

[HttpGet]
[Route("qr/{QrCode}")]
public IHttpActionResult GetByQr(string QrCode)
{
    return Ok(DeserializeQrCode(QrCode)); // this is simplified...
}

为此,我使用了fetch方法:

fetch('<baseUrl>/qr/<qrCode>', {
    method: 'GET',
    headers: {
        'Content-Type': 'application/json;charset=UTF-8',
        'Accept': 'application/json,text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
    }
})
.then(console.log.bind(console))
.catch(console.error.bind(console));

通常,我会看到OPTIONS请求,然后是GET请求,返回所需的值。但是,如前所述,有时OPTIONS请求将永久保留。

在Visual Studio 2015(我用于调试)中,我可以看到选项请求,但没有进一步。

关于可能会发生什么的任何想法?为什么OPTIONS请求保持挂起状态?

非常感谢! 波多黎各

编辑:这是一个.NET 4.5.2 WebApi项目。

0 个答案:

没有答案