2009-03-17 8 views
22

basierend auf der WSDL-Spezifikation von W3 gibt es die Möglichkeit, der WSDL-Ausgabe "wsdl: document" -Tags hinzuzufügen, damit Personen, die diesen Webservice verwenden, eine bessere Erklärung/Dokumentation haben dieser Webservice.Hinzufügen von Kommentaren zu einer WSDL-Ausgabe von WCF/.Net

Kann jemand WCF diese Kommentare/Beschreibungen verwenden oder wie schreibt man den Code in C#, dass diese Kommentare als Teil der WSDL exportiert werden?

Danke, Michael

Antwort

1

WCF wird es nicht tun, auf sie leider besitzen wird. Es gibt Erweiterungspunkte für die WSDL-Generierung, mit denen Sie dies zumindest teilweise erreichen können: Suchen Sie die Schnittstelle IWSDLExportExtension.

Ich habe eine small example auf, wie man eine einfache WSDL-Export-Erweiterung auf meiner Website implementiert, die Ihnen den Einstieg erleichtern könnte.

+0

Danke - aber das ist nur ein erster Schritt. Was ich wirklich gerne hätte, ist die Möglichkeit, beliebige "/// comments ....", die ich über ServiceContract, OperationContract und DataContract in WSDL und XSD erstellt habe, zu exportieren. Irgendwelche Ideen? –

3

Wenn Sie Ihr Design/Kodierung in C# -Klassen mit [ServiceContract] und [OperationContract] vornehmen, kann ich keine Dokumentation für diese Klassen und Methoden in die WSDL exportieren , Unglücklicherweise.

Ich war zu sehr damit entsetzt - ich erwartet habe in der WSDL keine /// Kommentare zu meinen Klassen und Methoden zeigen - kein Glück :-(

jetzt Unsere Lösung ist folgende: 1) wir schaffen ein grundlegendes "Mock-up" unserer Service-Schnittstelle mit allen Operationen in C# 2) kompilieren wir das in eine Assembly 3) extrahieren wir die Metadaten (WSDL, XSD) aus dieser Baugruppe und werfen dann den C# "Prototyp" 4) wir fügen manuell Kommentare (xs: annotation/xs: documentation) zur WSDL und XSD hinzu 5) Von nun an sind die WSDL/XSD die Master - und wir generieren unsere Schnittstelle aus diesen Beschreibungen

Umständlich und nervig, aber es funktioniert ziemlich gut für uns.

Ich hoffe, VS2010/WCF 4.0 wird uns ein bisschen mehr Unterstützung in diesem Bereich bringen !!

Marc

+0

Das scheint ein guter Ansatz zu sein. – Cheeso

11

Es scheint, dass das Gemeinschaftsprojekt WCFExtras auf CodePlex bietet eine Behelfslösung die Grenzen von .NET 3.5.

+1

Probieren Sie es aus - funktioniert wie ein Charme, auch wenn meine Lösung in .NET 4.0 ist. Danke Joannes –

0
[WebService(Namespace = "XXXXXXXXXXXXX", **Description**="V0.2.42")] 

Beschreibung setzen, was Sie in den .NET 4.0 wollen, nicht sicher, welche Versionen ... Wahrscheinlich ein wenig zu spät in der Beantwortung, aber Antworten scheinen komplexer als erforderlich, um eine Klappentext hinzufügen nur Devs sehen WSDL.

Verwandte Themen