2012-05-03 4 views
0

.NET 2.0을 대상으로하는 프로젝트에서 Visual Studio 2008을 사용하고 있습니다. 동일한 솔루션 내에서 다른 프로젝트에 정의 된 WCF 서비스에 대한 참조를 추가해야합니다. WCF 프로젝트는 .NET 3.5를 대상으로하며이 서비스는 basicHttpBinding을 사용합니다."웹 참조 추가"를 통해 WCF 참조 추가

클라이언트 프로젝트가 .NET 2.0을 대상으로 구성되었으므로 "서비스 참조 추가"옵션이 없습니다. 나는 "이 솔루션에서 웹 서비스를" "웹 참조 추가"를 선택하려고 할 때, 다음과 같은 메시지가 뜹니다 : 내가 잘못

No Web services were found in the current solution.

을 뭐하는 거지?

답변

1

웹 참조는 기존 ASMX 기술에 대한 것입니다. "웹 참조 추가"는 자연스럽게 WCF가 존재한다는 것을 알지 못하기 때문에 솔루션에서 WCF 서비스에 대해 알지 못하는 것이 놀랄 일이 아닙니다. 그것은 .asmx 파일을 찾고 있습니다.

먼저 .svc 파일을 마우스 오른쪽 버튼으로 클릭하고 "브라우저에서보기"를 사용하여 서비스를 시작하십시오. 그런 다음 "URL 참조 추가"대화 상자에 서비스의 URL을 제공하십시오. 또한 "? WSDL"이 웹 참조 추가를위한 WSDL을 생성 할 수 있도록 서비스가 메타 데이터를 노출하는지 확인하십시오.

+0

.svc 파일이 없습니다. 프로젝트는 기본적으로 .svc를 생성하지 않는다고 생각되는 WCF Service Library 템플릿을 사용하여 만들어졌습니다. 내 .config 파일은'mex' 엔드 포인트를 공개하지 않습니다. 내가 필요로하는 공놀이 공원에 있니? – FishBasketGordo

+0

이것은 야심 차고 있지만 서비스를 호스팅해야합니다. 한 가지 방법은 서비스를 디버그하는 것이지만 프로젝트의 디버그 속성을 보면 F5가 wcfsvchost.exe 프로그램을 시작한다는 것을 알 수 있습니다. 이를 수동으로 시작하여 서비스를 호스팅 한 다음 호스팅 URL을 가리키는 "웹 참조 추가"를 사용할 수 있습니다. 참고 Visual Studio의 한 인스턴스에서 서비스를 디버깅하고 다른 웹 참조에서 "웹 참조 추가"를 수행 할 수 있습니다. –

+0

WCF 테스트 클라이언트를 가져온 서비스 프로젝트를 실행했지만 모든 서비스가 mex 주소로 나열됩니다. 브라우저에 주소를 복사하면 HTTP 400 오류가 발생합니다. 잘못된 요청입니다. 웹 참조를 추가하기 위해 WSDL 데이터를 가져 오는 방법을 모르겠습니다. – FishBasketGordo