2016-04-08 7 views
0

Ich versuche, einige WCF-Dienste aufzurufen, die ich von einer lokalen Webseite geschrieben habe, aber ich bekomme Querursprungsfehler links und rechts, aber nur wenn ich Versuche die Aufrufe von JavaScript.CORS-Header 'Access-Control-Allow-Origin fehlt

Ich habe seit Monaten versucht und versucht, dies ohne Glück zu lösen; Ich bin mit meinem Latein am Ende. Ich habe stundenlang mit der web.config, den IIS Response Headers der Site, unzähligen Blogs, anderen SO-Posts und enable-cors.org getüftelt, aber ich stoße immer noch auf eine Mauer.

Der JS-Code, der die WCF-Dienste Aufruf ist:

var url = "http://(foo)/WCF.svc/Bar" 
var xhr = new XMLHttpRequest(); 
xhr.open('GET', url, false); 
xhr.onload = function() { 
    console.log(xhr.responseText); 
} 
xhr.send(); 

Die Funktion C# für den WCF-Service:

[OperationContract, WebInvoke(UriTemplate = "/Bar/", Method = "GET")] 
public string Bar() { return "Success!"; } 

Das relevante Segment der Web.config für den WCF-Service:

<system.webServer> 
    <httpProtocol> 
     <customHeaders> 
      <add name="Access-Control-Allow-Origin" value="*" /> 
      <add name="Access-Control-Allow-Headers" value="*" /> 
      <add name="Access-Control-Allow-Methods" value="*" /> 
      <add name="Access-Control-Max-Age" value="1728000" /> 
     </customHeaders> 
    </httpProtocol> 
</system.webServer> 

Wie ich bereits sagte, haben HTTP-Anfragen aus anderen Sprachen keine Probleme. C# und ActionScript 3 funktionieren mit den gleichen WCF-Aufrufen, aber JS lässt mich nicht über diese Fehler hinwegkommen.

Weiß jemand, was passieren könnte?

Antwort

0

Das Problem ist mit diesen beiden Linien

 <add name="Access-Control-Allow-Headers" value="*" /> 
     <add name="Access-Control-Allow-Methods" value="*" /> 

* für diese beiden Header

Lesen Sie die Spezifikation kein gültiger Wert ist here

+0

I Methoden haben auf „POST, GET, OPTIONS "und Header zu" Content-Type "wie bei einem anderen Server, den wir haben, aber das Problem besteht immer noch. Ist das nicht auch richtig? – wmaynard