У вас есть два варианта:
Вариант 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 ужасно сложным — на самом деле это не так, но эти два инструмента импорта ужасно плохо справляются с созданием базового файла. config для вас.... пусть это вас не пугает!
Если ссылка на добавление службы для WSDL не преобразует автоматически все соответствующие и необходимые XSD-файлы, вам может потребоваться добавить их в свой проект, а затем использовать что-то вроде XSD2Code, чтобы преобразовать их в классы C# (или VB.NET).
wsdl.exe
— это устаревшая утилита для преобразования файла WSDL в заглушку ASMX (веб-служба ASP.NET) — больше не используйте ее, используйте svcutil.exe
или Visual Studio Add Service Reference для WCF.
Что касается того, как создать правильную и минимальную конфигурацию WCF, ознакомьтесь с телешоу DotNet Rocks № 122 с Мигелем Кастро под названием Экстремальный WCF. Miguel предлагает отличный способ структурировать ваши проекты WCF и создать столько конфигурации, сколько действительно необходимо (и, таким образом, его можно понять намного лучше, чем сгенерированный svcutil беспорядок).
person
marc_s
schedule
23.01.2010