Предоставление метаданных для службы шаблонов отдыха WCF 4.0 - PullRequest
3 голосов
/ 18 февраля 2011

Вероятно, отсутствует что-то очень простое.Я создал Службу Отдыха WCF 4.0.Это работает без проблем, когда я нажимаю URL-адрес из браузера и получаю то, что хочу.

Но теперь я хочу использовать этот сервис из клиентского приложения MVC (оно также будет использоватьсядругие не .net платформы, поэтому в первую очередь это служба отдыха.

Проблема в том, как мне получить ссылку на службу, чтобы я мог начать использовать ее в своем коде c #?С новым минимальным подходом конфигурации WCF .net 4 и без интерфейса для контракта на обслуживание, я не знаю, как указать конечную точку mex.В конечном счете, я не хочу, чтобы конечная точка Mex была запущена в производство, просто во время разработки.Я хотел бы иметь возможность указать, что все мои службы (около 10 в одном приложении) имеют конечные точки с одним крошечным фрагментом конфигурации, который преобразования vs2010 .config просто вырывают при публикации.

1 Ответ

14 голосов
/ 18 февраля 2011

Stop . Служба REST не использует метаданные. Метаданные (конечная точка Mex) предназначены только для служб SOAP, поскольку WSDL 1.1 (единственная версия , поддерживаемая WCF ) может описывать только службу SOAP. WADL или WSDL 2.0 может описывать службу REST, но ни одна из них в настоящее время не поддерживается WCF.

Служба REST используется напрямую WebRequest или построением ChannelFactory поверх общих контрактов. Оба метода описаны здесь . Другой метод заключается в использовании HttpClient из REST Starter kit (прежний API). Проблема со стартовым набором состоит в том, что он никогда не достиг RTM (его заменили WCF 4). Вместо конечной точки метаданных служба WCF 4 REST предлагает страницу справки , где описаны все операции. При использовании шаблона WCF 4 REST страница справки должна быть уже включена - просто добавьте / help sufix к адресу вашего сервиса. Вот еще одна статья о построении REST-клиентов.

...