Данные wsdl + xds вводят файл, как я создаю тупиковый веб-сервис WCF?

Я понимаю, что это - основная тема, но никогда не делавшийся это прежде, чем начать с wsdl.

Мне вручают wsdl файл и набор xsd с определениями типов. У меня нет подсказки, если они были созданы из сервиса WCF (Наверное из-за разделения формат), но я действительно должен создать сервис WCF, который реализует контракт.

Вопрос: Как я получаю интерфейс контракта на обслуживание?

Я знаю о wsdl.exe и svcutil.exe - но не слишком знакомый с тем, что что. Я предполагаю после этого все, что это оставляют, реализует контракт на обслуживание.

Любая справка ценится!

P.S. У меня был другой вопрос об этом, но я пытался поместить слишком много материала в тот же вопрос - поэтому, давайте сохраним его простым на данный момент.

7
задан JohnIdol 23 January 2010 в 14:16
поделиться

1 ответ

У вас есть два варианта:

Вариант 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:

Add Service Reference dialog

Это создаст ссылка на службу, которая в основном совпадает с выводом утилиты 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 беспорядок).

13
ответ дан 6 December 2019 в 19:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: