Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе описывается использование различных коммутаторов в Svcutil.exe для создания клиентов из документов метаданных.
Документы метаданных могут находиться в устойчивом хранилище или извлекаться в интернете. Получение данных онлайн следует протоколу WS-MetadataExchange или протоколу Microsoft Discovery (DISCO). Svcutil.exe одновременно выдает следующие запросы метаданных для получения метаданных:
запрос WS-MetadataExchange (MEX) на указанный адрес.
Запрос MEX к указанному адресу с
/mexдобавленным.Запрос DISCO (с помощью DiscoveryClientProtocol веб-служб ASP.NET) к указанному адресу.
Svcutil.exe создает клиент на основе языка описания веб-служб (WSDL) или файла политики, полученного из службы. Полное имя пользователя (UPN) создается путем объединения имени пользователя с символом "@", а затем добавлением полного доменного имени (FQDN). Однако для пользователей, зарегистрированных в Active Directory, этот формат недопустим, и универсальное имя пользователя (UPN), которое создает средство, приводит к сбою проверки подлинности Kerberos со следующим сообщением об ошибке: попытка входа не удалась. Чтобы устранить эту проблему, вручную исправьте файл клиента, который созданный средством.
svcutil.exe [/t:code] <metadataDocumentPath>* | <url>* | <epr>
Ссылки и типы общего доступа
| Вариант | Описание |
|---|---|
| /reference:<путь к файлу> | Ссылается на типы в указанной сборке. При создании клиентов используйте этот параметр для указания сборок, которые могут содержать типы, представляющие импортируемые метаданные. Короткая форма: /r |
| /excludeType:<type> | Указывает полностью квалифицированное или сборочно-квалифицированное имя типа, которое следует исключить из ссылочных типов контрактов. Короткая форма: /et |
Выбор сериализатора
| Вариант | Описание |
|---|---|
| /serializer:Auto | Автоматически выбирает сериализатор. Для этого используется DataContract сериализатор. Если это не удается, XmlSerializer используется.Короткая форма: /ser:Auto |
| /serializer:DataContractSerializer | Создает типы данных, использующие DataContract сериализатор для сериализации и десериализации.Короткая форма: /ser:DataContractSerializer |
| /serializer:XmlSerializer | Генерирует типы данных, которые используют XmlSerializer для сериализации и десериализации.Короткая форма: /ser:XmlSerializer |
| /importXmlTypes | Настраивает DataContract сериализатор для импорта типов, не являющихся DataContract типами, в качестве IXmlSerializable типов.Короткая форма: /ixt |
| /dataContractOnly | Создает код только для DataContract типов. Типы ServiceContract генерируются.Для этого параметра следует указать только локальные файлы метаданных. Короткая форма: /dconly |
Выбор языка для клиента
| Вариант | Описание |
|---|---|
| /language:<язык> | Указывает язык программирования, используемый для создания кода. Укажите имя языка, зарегистрированное в файле Machine.config, или полное имя класса, наследуемого от CodeDomProvider. Значения: c#, cs, csharp, vb, vbs, visualbasic, vbscript, javascript, c++, mc, cpp По умолчанию: csharp Короткая форма: /lДополнительные сведения см. в классе CodeDomProvider. |
Выбор пространства имен для клиента
| Вариант | Описание |
|---|---|
| /namespace:<string,string> | Указывает сопоставление из WSDL или XML-схемы targetNamespace с пространством имен среды CLR. Использование подстановочного знака (*) для targetNamespace картирует все targetNamespaces, не имеющие явного сопоставления с данным пространством имен CLR.Чтобы убедиться, что имя контракта сообщения не совпадает с именем операции, укажите ссылку на тип, используя двойные двоеточия ( ::) или убедитесь, что имена уникальны.По умолчанию: полученный из целевого пространства имен схемного документа для DataContracts. Пространство имен по умолчанию используется для всех остальных сгенерированных типов.Короткая форма: /n |
Выбор привязки данных
| Вариант | Описание |
|---|---|
| /enableDataBinding | Интерфейс INotifyPropertyChanged реализует для всех типов DataContract с целью включения привязки данных.Короткая форма: /edb |
Создание конфигурации
| Вариант | Описание |
|---|---|
| /config:<configFile> | Указывает имя файла созданной конфигурации. По умолчанию: output.config |
| /mergeConfig | Объединяет созданную конфигурацию в существующий файл вместо перезаписи существующего файла. |
| /noConfig | Не создавайте файлы конфигурации. |