Добавление комментариев к выводу WSDL из WCF / .Net - PullRequest
22 голосов
/ 17 марта 2009

на основе спецификации WSDL от W3 есть возможность добавить теги "wsdl: document" в вывод WSDL, чтобы у людей, использующих этот веб-сервис, было лучшее объяснение / документация по этому веб-сервису.

Кто-нибудь знает, как заставить WCF использовать эти комментарии / описания или как написать код на C #, чтобы эти комментарии экспортировались как часть wsdl?

Спасибо, Майкл

Ответы [ 5 ]

11 голосов
/ 12 марта 2010

Похоже, что проект сообщества WCFExtras на GitHub обеспечивает обход ограничений .NET 3.5.

4 голосов
/ 28 июня 2011

http://msdn.microsoft.com/en-us/library/aa717040.aspx

Я думаю, это будет делать то, что вы хотите, но это будет работать только для клиентов .NET

3 голосов
/ 27 марта 2009

Если вы делаете свой дизайн / кодирование в классах C #, украшенных [ServiceContract] и [OperationContract], то я не знаю ни одного способа экспортировать документацию, которая может быть у вас по этим классам и методам, в WSDL к сожалению.

Меня это тоже потрясло - я ожидал, что любые /// комментарии о моих классах и методах появятся в WSDL - не повезло: - (

Наше решение сейчас таково: 1) мы создаем базовый «макет» нашего интерфейса сервиса со всеми операциями в C # 2) мы собираем это в сборку 3) мы извлекаем метаданные (WSDL, XSD) из этой сборки и затем выбрасываем C # «прототип» 4) мы вручную добавляем комментарии (xs: annotation / xs: документация) к WSDL и XSD 5) с этого момента WSDL / XSD являются основными - и мы создаем наш интерфейс на основе этих описаний

Обременительно и громоздко, но у нас все работает нормально.

Я уверен, что VS2010 / WCF 4.0 принесет нам немного больше поддержки в этой области !!

Марк

1 голос
/ 18 марта 2009

К сожалению, WCF не будет делать это самостоятельно. Существуют точки расширения для генерации WSDL, которые можно использовать для достижения этого хотя бы частично: Найдите интерфейс IWSDLExportExtension .

У меня есть небольшой пример о том, как реализовать на моем сайте простое расширение экспорта WSDL, которое может помочь вам начать работу.

0 голосов
/ 01 мая 2013
[WebService(Namespace = "XXXXXXXXXXXXX", **Description**="V0.2.42")]

Описание поместите все, что вы хотите в .NET 4.0, не знаю, какие версии ... Возможно, немного поздно ответить, но ответы кажутся более сложными, чем требуется, чтобы добавить объявление в WSDL только для разработчиков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...