Я понимаю, что это - основная тема, но никогда не делавшийся это прежде, чем начать с wsdl.
Мне вручают wsdl файл и набор xsd с определениями типов. У меня нет подсказки, если они были созданы из сервиса WCF (Наверное из-за разделения формат), но я действительно должен создать сервис WCF, который реализует контракт.
Вопрос: Как я получаю интерфейс контракта на обслуживание?
Я знаю о wsdl.exe и svcutil.exe - но не слишком знакомый с тем, что что. Я предполагаю после этого все, что это оставляют, реализует контракт на обслуживание.
Любая справка ценится!
P.S. У меня был другой вопрос об этом, но я пытался поместить слишком много материала в тот же вопрос - поэтому, давайте сохраним его простым на данный момент.
У вас есть два варианта:
Вариант 1: Используйте утилиту svcutil.exe
в командной строке. Он должен быть установлен в ваш каталог C: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bin
(или что-то подобное, в зависимости от вашей машины и ОС)
Используйте svcutil -? для списка всех многих параметров. По сути, в самой простой форме используйте:
svcutil (name of your service).wsdl (name of your datafile).xsd
, и это создаст соответствующий (имя вашей службы) .cs
файл C # с контрактами службы и данных, а также образец файла конфигурации.
Результирующий файл * .cs (или * .vb, если вы хотите VB.NET) будет содержать контракт службы (методы, полученные из WSDL) и контракты данных (часть данных, поступающая из XSD). к вашим услугам.
Вариант 2: Используйте диалоговое окно «Добавить ссылку на службу» в Visual Studio (в узле «Ссылки» в обозревателе решений) и просто введите имя файла WSDL:
Это создаст ссылка на службу, которая в основном совпадает с выводом утилиты svcutil.exe
- плюс несколько вспомогательных классов и файлов для Visual Studio.
К сожалению, в обоих случаях импорт создаст ужасно перегруженный файл конфигурации, что, вероятно, является одной из причин, по которой многие программисты думают, что WCF ужасно сложен - на самом деле это не так, но эти два инструмента импорта просто ужасно плохо справляются с работой. создание базовой конфигурации для вас ....не позволяйте этому напугать вас!
Если ссылка на добавление службы для WSDL не преобразует автоматически все соответствующие и необходимые файлы XSD, вам может потребоваться добавить их в свой проект, а затем использовать что-то вроде XSD2Code , чтобы преобразовать их в C # (или VB.NET) классы для вас.
wsdl.exe
- устаревшая утилита для преобразования файла WSDL в заглушку ASMX (веб-сервис ASP.NET) - больше не используйте ее, используйте svcutil.exe
или Справочник по добавлению службы Visual Studio для WCF.
Что касается создания правильной и минимальной конфигурации WCF, посмотрите телешоу DotNet Rocks № 122 с Мигелем Кастро под названием Extreme WCF . Miguel представляет собой отличный способ структурировать ваши проекты WCF и создать столько конфигурации, сколько действительно необходимо (и, таким образом, его можно понять намного лучше, чем созданный svcutil беспорядок).