2009-12-21 1 views
0

그래서 이전에 로컬 컴퓨터에서 개발 서버로 WCF 서비스를 옮기는 데 어려움을 겪었습니다. 문제는 그것이 모든 참조를 통해 이동할 때 IP가 아닌 컴퓨터 이름에 의한 것이 었습니다. 도메인에서 액세스하지 않았기 때문에 컴퓨터 이름을 볼 수 없어 참조에 액세스 할 수 없었습니다. 여기 내 이전 게시물 (.NET WCF service references use server name rather than IP address causing issues when consuming)이었습니다.WCF (IIS의 호스팅 서비스) - IP 대신 WCF가 자동으로 컴퓨터 이름을 선택합니까?

해결책을 찾았지만 이것이 내 문제의 적절한 해결책인지 확인하고 싶었습니다. 그리고 다른 사람에게 다른 의견이 있는지 물어보십시오. 해결책은 IIS 사이트 바인딩을 변경하는 것이 었습니다. 나는 해결책을 (http://blogs.msdn.com/wenlong/archive/2007/08/02/how-to-change-hostname-in-wsdl-of-an-iis-hosted-service.aspx)에 찾아 냈다. 유일한 것은 내가 함께 일하는 응용 프로그램이 호스팅되지 않고 각 사이트에 설치된 웹 기반 솔루션이므로 모든 사이트에 대해이 작업을 수행해야 할 수도 있다는 것입니다. 따라서 각 사이트의 빌드에 스크립트를 포함시켜야 할 것 같습니다.

.config 파일에서이 변경을 수행 할 수있을 것이라고 생각합니다.

+0

이 호에 관해서도 비슷한 게시물을 참조하고 싶습니다 ... http://stackoverflow.com/questions/1220904/how-to-bind-wcf-service-to-ip-address/1941934 # 1941934 – dwhittenburg

+0

IP를 호스트 헤더로 추가 할 수 없어 잘못된 호스트 이름이 잘못되었습니다. ServiceHost Factory 속성과 자체 기술 서비스를 사용하여 해결책을 찾았습니다. 좋은 코드 기반 솔루션입니다. 관심이 있으시면 여기를 클릭하십시오. http : //stackoverflow.com/questions/6863464/wcf-is-using-the-computer-name-instead-of-the-ip-address-and-cannot- 해결되다 – baileyswalk

답변

0

올바른 방법은 웹 사이트 인스턴스의 IIS에서 명시 적 호스트 헤더를 설정하는 것입니다. 이제 웹 사이트 인스턴스에 필요한 하나의 호스트 헤더 만 있으면 충분하다고 가정합니다. 그러나 여러 호스트 헤더가 구성되어있는 경우 WCF에게 자신을 노출 할 호스트를 명시해야 할 필요가 있습니다. 이 특정 도메인에 서비스를 바인딩하는 요소 아래에 the configuration element으로 수행됩니다.

관련 문제