2016-03-23 14 views
0

bir WCF hizmeti bir HTTP GET isteği izin vermek için WCF yönteminde yaparak web sunucusu erişimine izin vermek zorunda:WCF'de CORS - İstemci makineden istek olduğunda web sunucusu neden belirtilir?

WebOperationContext.Current.OutgoingResponse.Headers.Add("Access-Control-Allow-Origin", webServer); 

Neden çalışır? İstek, web tarayıcısından değil istemci tarayıcısından geliyor.

Yük Sayfa
İstemci - HTTP -> WebSunucusu

olun WCF Talebi
İstemci - HTTP -> WCF Servis

Ben trafiği kontrol etmek Wireshark'ı kullanılan WCF sunucusu. Gerçekten, kullanıcının web sayfasının açık olduğu istemci makinesinden geliyor. Web sunucusundan gelmiyor. Peki, web sunucusu Access-Control-Allow-Origin adresindeki web sunucusunu neden trafiğin web sunucusundan gelmediğini belirliyor? Ben Websunucusu tipi sağlanan kodunda veya özellikleri öylesine ne ben birkaç varsayımlar yapıyorum emin değilim

var config = { 
     url: 'http://WcfServerName:8000/MmaWebApiService/CreateCassette', 
     method: 'POST', 
     contentType: 'application/json; charset=utf-8', 
     data: { 'moduleSerialNumbers': [$scope.state.subId1, $scope.state.subId2, $scope.state.subId3] } 
    }; 

    $http(config) 
     .then(function (response) { 
      addCassetteToStack(response.data.d); 
      $rootScope.setUserMessage('Cassette ' + response.data.d.SerialNumber + ' created.'); 
     }, function (response) { 
      console.log('err: ', response); 
     }); 
+0

Sağlanan kodda webServer türünün ne olduğundan veya özelliklerin neler olduğundan emin değilim, bu yüzden birkaç varsayım yapıyorum. Genel olarak WCF sunucusu korunan kaynağınızdır ve web sunucunuz veya javascript kodunuz gibi farklı kaynak etki alanlarından erişime izin vermeniz veya bunları reddetmeniz gerektiği düzeydedir. Javascript çağrınız istemci tarafında yapılsa da, istek başlığı, erişim kontrolü için kullanılan kaynak etki alanınızın içinde olmalıdır. –

+0

Ah, hepsi bu! İsteğimin başlığı web sunucusunu ana bilgisayar olarak gösteriyor. Teşekkürler! Bunu cevap olarak göndermek isterseniz kabul edeceğim. –

cevap

1

: Eğer yardımı olacaksa

, bu JavaScript çağrıdır . Genel olarak WCF sunucusu korunan kaynağınızdır ve web sunucunuz veya javascript kodunuz gibi farklı kaynak etki alanlarından erişime izin vermeniz veya bunları reddetmeniz gerektiği düzeydedir. Javascript çağrınız istemci tarafında yapılsa da, istek başlığı, erişim kontrolü için kullanılan kaynak etki alanınızın içinde olmalıdır.

İlgili konular