2011-02-17 4 views
3

아마도 매우 기본적인 것을 놓친 것 같습니다. WCF 4.0 Rest Service를 만들었습니다. 브라우저에서 URL을 치면 내가 원하는 것을 다시 얻을 때 아무런 문제가 없습니다.WCF 4.0 Rest Template 서비스에 대한 메타 데이터 표시

하지만 이제는 클라이언트 mvc 응용 프로그램에서이 서비스를 사용하고 싶습니다. (다른 비 .net 플랫폼에서도 사용되기 때문에 처음에는 휴식 서비스입니다).

문제는 어떻게 C# 코드에서 사용할 수 있도록 서비스 참조를 얻습니까? 새로운 최소 WCF .net 4 config 접근 방식과 서비스 계약을위한 인터페이스가 없기 때문에 mex 끝점을 지정하는 방법을 알지 못합니다. 궁극적으로는 개발 단계에서 생산 단계에서 mex 엔드 포인트를 원하지 않습니다. 나는 내 서비스 (한 응용 프로그램에서 약 10 개)가 끝날 때마다 vs2010 .config 변환이 게시 할 때마다 찢어지는 작은 구성의 하나의 끝점을 갖도록 지정할 수 있기를 바랍니다.

답변

14

Stop. REST 서비스는 메타 데이터를 사용하지 않습니다. Metadata (Mex endpoint)는 WSDL 1.1 (WCF의 version supported 만)이 SOAP 서비스 만 설명 할 수 있기 때문에 SOAP 서비스에만 사용됩니다. WADL 또는 WSDL 2.0은 REST 서비스를 설명 할 수 있지만 현재 WCF가 지원하지 않습니다.

WebRequest을 직접 사용하거나 공유 계약 상단에 ChannelFactory을 작성하여 REST 서비스를 사용합니다. 두 방법 모두 here으로 설명되어 있습니다. 다른 방법은 REST Starter kit (이전 API)의 HttpClient을 사용하는 것입니다. Starter Kit의 문제점은 RTM에 도달 한 적이 없다는 것입니다 (WCF 4로 대체 됨). 메타 데이터 엔드 포인트 대신 WCF 4 REST 서비스는 모든 작업이 설명 된 help page을 제공합니다. WCF 4 REST 템플릿을 사용할 때 도움말 페이지가 이미 켜져 있어야합니다. - 서비스 주소에/help sufix를 추가하면됩니다. REST 클라이언트 구축에 대한 Here is another article

+0

내가 게시 한 이래로 나는 많은 기사를보고 읽었습니다. 내가 혼동스러워하는 부분은 모두가 WCF Data Services를 사용하여 URL을 치고 (REST가 아닌가?) Add Service Reference에서 클라이언트를 생성한다는 것입니다. –

+0

그러나 WCF Data Services의 기능이라는 것을 알고 있습니다. –

관련 문제