Yerel bir web sayfasından yazdığım bazı WCF hizmetlerini çağırmaya çalışıyorum, ancak çapraz kaynaklı hataları sol ve sağ alıyorum ancak yalnızca aramaları JavaScript'ten deneyin.CORS başlığı 'Erişim-Denetim-İzin-Kökeni eksik
Aylarca bunu denemeye çalışarak denemeye çalışıyorum; Benim aklımın sonu. Web.config ile saatlerce, sitenin IIS Yanıt Başlıkları, sayısız blog, diğer SO gönderileri ve enable-cors.org'la uğraştım ama hala bir tuğla duvara çarpıyorum.
WCF servisleri aradığını JS kodu:
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();
WCF Hizmeti için C# fonksiyonu:
[OperationContract, WebInvoke(UriTemplate = "/Bar/", Method = "GET")]
public string Bar() { return "Success!"; }
WCF Hizmet için Web.config ilgili segmenti:
<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>
Daha önce de söylediğim gibi, diğer dillerden gelen HTTP isteklerinde sorun yok. C# ve ActionScript 3 aynı WCF çağrılarıyla iyi çalışıyor, ancak JS bu hataları geçmeme izin vermiyor.
Neler olup bittiğini bilen var mı?
Oku için geçerli bir değer değildir ile OPTIONS "ve sahip olduğumuz başka bir sunucuya göre" İçerik Türü "başlıkları, ancak sorun hala devam ediyor. Bu da doğru değil mi? – wmaynard