Visual studio 2015 为什么我会得到重复的访问控制允许原始请求头?

Visual studio 2015 为什么我会得到重复的访问控制允许原始请求头?,visual-studio-2015,cors,global-asax,Visual Studio 2015,Cors,Global Asax,我有一个wcf web服务应用程序在VS 2015中从IIS Express运行,需要允许跨源请求。最初,我收到一条来自我的客户端应用程序的消息:“对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源站”标头。因此不允许源站“”访问。”。我用以下代码添加了一个Global.asax protected void Application_BeginRequest(object sender, EventArgs e) { // Ensure the we

我有一个wcf web服务应用程序在VS 2015中从IIS Express运行,需要允许跨源请求。最初,我收到一条来自我的客户端应用程序的消息:“对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源站”标头。因此不允许源站“”访问。”。我用以下代码添加了一个Global.asax

protected void Application_BeginRequest(object sender, EventArgs e)
    {
        // Ensure the web service allows cross site scripting from certain origins

        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "http://localhost:1234");
        if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
        {
            HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "POST, PUT, OPTIONS");

            //HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
            HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type");
            HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
            HttpContext.Current.Response.End();
        }
    }
现在,当我尝试从客户端调用服务时,我得到“访问控制允许源站”标题包含多个值“*”,但只允许一个值。因此不允许源站“”访问。”

因此,没有标题是不够的,但一个标题正在变成两个。为什么会发生这种情况

注意:我在web.config中没有添加任何标题的内容

<customHeaders>
   <add name="Access-Control-Allow-Origin" value="*" />
 </customHeaders>

只是添加一条注释,因为这不是真正的答案,但我也遇到了同样的问题,在解决方案中搜索“COR”并进行调试使我能够删除它们。服务器到服务器的请求很好,但是来自另一个域的ajax调用具有这些重复的头。我在解决方案中使用ctrl+shift+f搜索CORS,发现Thinktecture的Identity Server 2中已经设置了CORS配置,但在WebApiConfig中的Register方法中再次设置了CORS配置。注释掉第二个删除了重复项。同样,作为重复CORS包装检查的包装也可能导致这种情况。