2014-11-27 2 views
3

WCF 서비스를 로컬 전용으로 열려고합니다.로컬 클라이언트에 대한 WCF 서비스 호출 제한

var baseUri = new Uri("http://127.0.0.1:9001"); 
var webHost = new WebServiceHost(typeof(MyService), baseUri); 
webHost.AddServiceEndpoint(typeof(MyService), new WebHttpBinding(), string.Empty); 
webHost.Open(); 
Console.WriteLine("press any key to exit"); 
Console.ReadLine(); 

리소스 모니터에 찾고 :

나는 단지 여기

(내 WCF 호스트에 원격 연결을 허용하지 않음) localhost를 수신 할 수있는 방법을 찾을 수가 기운은 예제 코드입니다 그것은 "지정되지 않은 IP"를 듣는 것을 보여줍니다.

어떻게 강제로 로컬 호스트에서만 수신 할 수 있습니까?

답변

1

WebHttpBinding에서 ExactHostNameComparisonMode을 설정할 수 있습니다. 여기에는 끝점 일치의 호스트 이름이 포함됩니다.

URI에서 일치시킬 때 호스트 이름이 서비스에 도달하는 데 사용되는지 여부를 나타내는 HostnameComparisonMode 값입니다. 기본값은 StrongWildcard이며 일치 항목의 호스트 이름은 무시됩니다.

그러나이 경우에는 Named Pipes을 사용하는 것이 좋습니다. 자세한 내용은 msdn을 참조하십시오.

+0

로컬 전용 시나리오에서 좋은 조언은 다시 명명 된 파이프입니다! – nodots

관련 문제