2011-08-31 2 views
0

내 로컬 네트워크에서 RESTful 웹 서비스가 작동하는 데 문제가 있습니다. 최근까지 그들은 잘 작동하고 있었고 무엇이 바뀌 었는지 전혀 알지 못합니다. 누군가 내 목록을 제공하여 내 설정이 모두 올바른지 확인할 수 있기를 바랍니다. 내 코드 또는 네트워크 설정 자체에 뭔가 있는지 확인하기 위해 아주 간단한 테스트 응용 프로그램을 만들었습니다. 난 비주얼 스튜디오 2010의 C#의 윈폼 솔루션을 생성하고 폼의 onLoad 핸들러에이 추가 :원격 네트워크 컴퓨터에서 WCF Restful 서비스에 액세스 할 수없는 이유는 무엇입니까?

ServiceHost host = new ServiceHost(typeof(BasicService)); 
string baseUri = "http://" Environment.MachineName + ":876/testing"; 
ServiceEndpoint point = host.AddServiceEndpoint(typeof(IBasicService), new  WebHttpBinding(), baseUri); 
point.Behaviors.Add(new WebHttpBehavior()); 
host.Open(); 

서비스는 단순히 문자열을 반환합니다. 로컬 컴퓨터에서 브라우저를 열고 문자열이 제대로 표시되는지 확인할 수 있습니다. 로컬 네트워크의 다른 컴퓨터/장치에서도이 문제를 볼 수 있었지만 지금은 원격 컴퓨터에서 시도 할 때 502 오류 코드가 표시됩니다. 어떤 종류의 인증서 또는 네트워크 설정이 필요합니까?

답변

0

"localhost"는 항상 현재 컴퓨터를 의미하기 때문에 작동하지 않습니다. 원격 시스템이 액세스하려고하면 실제로 액세스하게됩니다!

서비스를 실행하는 컴퓨터의 외부에서 볼 수있는 IP 주소와 관련된 DNS 이름을 사용해야합니다.

+0

저는 홈 네트워크에 DNS 서버가 없기 때문에 서비스가 그곳에 노출되기를 원합니다. 나는 그것이 일하고있을 때 localhost 대신에 Environment.MachineName을 가졌습니다. 그것은 언젠가는 불가해스럽게 멈추었습니다. –

+0

컴퓨터 이름이나 IP 주소를 사용해야합니다. –

관련 문제