CORS预检调用未触发以下GET / POST请求

时间:2016-09-13 10:43:59

标签: c# angularjs asp.net-web-api

在WebAPI应用程序中,我按照文章http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api#allowed-origins中的描述实现了自定义CORS策略,但是起源是在自定义部分的web.config文件中设置的。我有角度客户端应用程序将请求发送到WebAPI。

我尝试了两种方案:

1)使用localhost网址运行应用程序。

2)使用计算机名运行应用程序。

在这两种情况下,我的起源都包含在web.config文件中。在第一种情况下一切正常。在第二个发送CORS预检请求,但没有实际的GET或POST请求。在预检响应中有正确的标题:

Access-Control-Allow-Headers: content-type, custom-session-id
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Origin: http://computername

有什么不对?我将不胜感激任何帮助。

编辑:来自小提琴手的截图:

enter image description here

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:CorsPolicy对象中缺少设置:SupportsCredentials需要设置。我没想到,即使我不发送凭据,我仍然需要设置此标志。