2013-05-28 3 views
1

동일한 PC (콘솔 응용 프로그램에서 호스팅되는)에서 실행중인 Net TCP WCF 서비스와 연결되지만 Windows 8의 데스크톱 모드에서는 Metro 응용 프로그램이 있습니다. 메트로 애플 리케이션 및 모든 내부 WCF 서비스의 참조를 잘 작동합니다.WCF 서비스 참조가 다른 PC에서 작동하지 않습니다.

내 스토어/메트로 앱과 WCF 서비스를 패키징하고 Visual Studio가 설치되어 있지 않은 다른 PC에서 코드를 다시 컴파일하지 않으므로 메트로 앱 패키지를 설치하고 WCF 실행 파일을 실행합니다. 서비스. WCF 서비스가 잘 시작되지만 메트로 응용 프로그램을 시작하면 오류가 발생합니다 (아래 이미지 참조)

다른 PC에 설치된 메트로 응용 프로그램은 서비스 참조를 찾을 수 없습니다. 검색 후 많은 작업을 시도했지만 아무 것도 작동하지 않습니다. 모든 아이디어/힌트/제안은 크게 감사하겠습니다.

+0

IP 주소는 비어 있습니다 :'127.0.0.1 : 8733'은 로컬 컴퓨터의 포트 번호 8733을 의미합니다. 이 상황이 발생하는 컴퓨터에서 서버를 실행하지 않으므로 올바른 대상 주소를 연결에 넣어야합니다. – Corey

+0

@Corey Metro 인터페이스와 같은 컴퓨터에 바탕 화면 모드가있는 Windows 8 컴퓨터입니다. 내 메트로 앱이 동일한 시스템에서 호스팅되는 WCF 서비스에 연결하려고합니다. 따라서 localhost는이 경우에 적합합니다. –

+0

하지만 다른 컴퓨터에서 앱을 실행할 때 앱이 서버에 연결할 수 없다는 불만이 있습니다. 서버와 클라이언트 응용 프로그램을 함께 패키징합니까? 서버가 지정한 포트에서 실행되고 있습니까? – Corey

답변

2

윈도우 스토어 앱은 일반적으로 동일한 프로세스 내에서 1) 통신을 제외하고, 루프백 주소를 사용하거나, 2) 개발을 목적으로 할 수 없다. How to enable loopback and troubleshoot network isolation에서 :의 IP 루프백 주소를 사용하여

네트워크 통신이 윈도우 스토어 앱에 (두 개의 서로 다른 애플 리케이션 사이) 간 통신에 사용할 수 없습니다 이것은 네트워크 격리에 의해 제한되기 때문이다. IP 루프백 주소를 사용하는 네트워크 통신은 통신을 위해 동일한 프로세스 내의 앱 내에서 허용됩니다.

개발자가 루프백을 테스트 또는 디버깅 용도로 사용하려는 경우 (고객이 해당 기능을 사용할 수 없더라도). 예를 들어 앱이 Windows Store 앱에서 웹 서비스의 데이터를 다운로드하려고 할 수 있습니다. 개발 목적으로 개발자는 127.0.0.1에서 웹 서비스로 로컬로 구성된 단일 컴퓨터에서 응용 프로그램을 테스트하려고합니다.

루프백은 개발 목적으로 만 허용됩니다. Visual Studio 외부에 설치된 Windows Store 앱 사용은 허용되지 않습니다.

프로덕션 시나리오에서는 WCF 서비스를 별도의 컴퓨터에 설치해야 할 수 있습니다. 로컬 네트워크 액세스를 사용하려면 클라이언트 응용 프로그램의 응용 프로그램 매니페스트에서 "개인 네트워크"기능을 활성화해야합니다.

관련 문제