在POST请求中,DelegatingHandler的ASP.Net Web API SendAsync方法调用了两次

时间:2014-04-14 07:04:33

标签: asp.net asp.net-web-api

我在web api中有自定义授权处理程序,在调试web api时,我发现在发出请求时,调用处理程序的SendAsync方法两次。当获取请求时,方法仅执行一次。我还注意到request.Headers.Authorization第一次为空,它第二次包含值。我还注意到,当我从jquery ajax post请求中删除授权头时,则只调用一次方法。而fiddler也将请求显示为POST。但是当我添加标题而不是第一个请求作为OPTIONS / Product / Create HTTP / 1.1发送时,第二个请求作为POST / Product / Create HTTP / 1.1在fiddler中发送。任何人都知道为什么会这样?我正在进行跨域请求。

1 个答案:

答案 0 :(得分:1)

它被称为CORS飞行前请求。它是一种安全机制,允许服务器授予客户端执行跨域请求的权限。