У вас есть два варианта:
Опция 1: Используйте утилиту svcutil.exe
в командной строке. Он должен быть установлен в вашем каталоге C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin
(или что-то подобное, в зависимости от вашей машины и ОС)
Использовать svcutil -? для списка всех многих параметров. В основном, в самой простой форме, используйте:
svcutil (name of your service).wsdl (name of your datafile).xsd
, и это создаст соответствующий (name of your service).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 webservice) - больше не используйте ее, используйте svcutil.exe
или справочник по службам Visual Studio для WCF.
Что касается того, как создать правильную и минимальную конфигурацию WCF, посмотрите ТВ-шоу DotNet Rocks # 122 с Мигелем Кастро под названием Extreme WCF . Miguel представляет отличный способ структурировать ваши проекты WCF и создать столько конфигураций, сколько действительно необходимо (и, таким образом, его можно понять намного лучше, чем сгенерированный беспорядок с помощью svcutil).