Schulung
Modul
Dokumentation zur Verbesserung der Entwickleroberfläche einer API mit Swagger - Training
Hier erfahren Sie, wie Sie eine vorhandene in C#/ASP.NET Core geschriebene API mit Swashbuckle, Swagger/OpenAPI und Swagger UI dokumentieren.
Dieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge aus, um die neuesten Funktionen, Sicherheitsupdates und technischen Support zu nutzen.
In diesem Thema wird beschrieben, wie die verschiedenen Schalter in Svcutil.exe verwendet werden, um aus Metadatendokumenten Clients zu generieren.
Die Metadatendokumente können sich in einem permanenten Speicher befinden oder online abgerufen werden. Der Onlineabruf erfolgt gemäß dem WS-MetadataExchange-Protokoll oder Microsoft Discovery (DISCO)-Protokoll. Svcutil.exe gibt zum Abruf von Metadaten die folgenden Metadatenanforderungen gleichzeitig aus.
WS-MetadataExchange (MEX)-Anforderung an die angegebene Adresse
MEX-Anforderung an die angegebene Adresse mit angefügtem /mex
DISCO-Anforderung (mit DiscoveryClientProtocol (möglicherweise nur in englischer Sprache verfügbar) von ASP.NET-Webdiensten) an die angegebene Adresse.
Svcutil.exe generiert den Client auf der Basis der vom Dienst empfangenen WSDL (Web Services Description Language)-Datei oder Richtliniendatei. Der Benutzerprinzipalname (UPN) wird durch die Aneinanderreihung von Benutzername, "@" und vollqualifiziertem Domänennamen (FQDN) gebildet. Für in Active Directory registrierte Benutzer ist dieses Format jedoch nicht gültig, und der vom Tool generierte UPN verursacht einen Fehler bei der Kerberos-Authentifizierung mit der Fehlermeldung: Der Anmeldeversuch ist fehlgeschlagen. Um das Problem zu lösen, reparieren Sie die vom Tool erstellte Clientdatei manuell.
svcutil.exe [/t:code] <metadataDocumentPath>* | <url>* | <epr>
Option | BESCHREIBUNG |
---|---|
/reference:<Dateipfad> | Verweist auf Typen in der angegebenen Assembly. Beim Generieren von Clients können Sie diese Option verwenden, um Assemblys anzugeben, die unter Umständen die Typen mit den zu importierenden Metadaten enthalten. Kurzform: /r . |
/excludeType:<Typ> | Gibt einen vollqualifizierten oder assemblyqualifizierten Namen an, der aus den verwiesenen Vertragstypen ausgeschlossen werden soll. Kurzform: /et . |
Option | Beschreibung |
---|---|
/serializer:Auto | Wählt die Serialisierung automatisch aus. Hierbei wird das DataContract -Serialisierungsmodul verwendet. Wenn dieser Versuch fehlschlägt, wird XmlSerializer verwendet.Kurzform: /ser:Auto . |
/serializer:DataContractSerializer | Generiert Datentypen, die das DataContract -Serilisierungsprogramm für die Serialisierung und die Deserialisierung verwenden.Kurzform: /ser:DataContractSerializer . |
/serializer:XmlSerializer | Generiert Datentypen, die XmlSerializer für die Serialisierung und die Deserialisierung verwenden.Kurzform: /ser:XmlSerializer . |
/importXmlTypes | Das DataContract -Serialisierungsprogramm wird so konfiguriert, dass Typen, die keine DataContract -Typen sind, als IXmlSerializable -Typen importiert werden.Kurzform: /ixt . |
/dataContractOnly | Generiert nur Code für DataContract -Typen. ServiceContract -Typen werden generiert.Sie sollten für diese Option nur lokale Metadatendateien angeben. Kurzform: /dconly . |
Option | Beschreibung |
---|---|
/language:<Sprache> | Gibt die Programmiersprache an, die zur Codegenerierung verwendet werden soll. Sie können entweder einen in der Datei Machine.config registrierten Sprachnamen oder den vollqualifizierten Namen einer Klasse angeben, der von CodeDomProvider abgeleitet ist. Werte: c#, cs, csharp, vb, vbs, visualbasic, vbscript, javascript, c++, mc, cpp Standard: csharp Kurzform: /l .Weitere Informationen finden Sie unter CodeDomProvider-Klasse. |
Option | Beschreibung |
---|---|
/namespace:<Zeichenfolge,Zeichenfolge> | Gibt eine Zuordnung von einem WSDL- oder XML-Schema-targetNamespace zu einem CLR (Common Language Runtime)-Namespace an. Durch die Verwendung eines Platzhalters (*) für targetNamespace werden alle targetNamespaces ohne eine explizite Zuordnung diesem CLR-Namespace zugeordnet.Um zu gewährleisten, dass der Nachrichtenvertragsname nicht mit dem Vorgangsnamen in Konflikt steht, sollten Sie den Typverweis entweder mit zwei Doppelpunkten ( :: ) angeben oder sicherstellen, dass die Namen einmalig sind.Standard: Wird vom Zielnamespace des Schemadokuments für DataContracts abgeleitet. Der Standardnamespace wird für alle anderen generierten Typen verwendet.Kurzform: /n . |
Option | Beschreibung |
---|---|
/enableDataBinding | Implementiert die INotifyPropertyChanged-Schnittstelle für alle generierten DataContract -Typen, um die Datenbindung zu ermöglichen.Kurzform: /edb . |
Option | Beschreibung |
---|---|
/config:<configFile> | Gibt den Dateinamen für die generierte Konfigurationsdatei an. Standard: output.config. |
/mergeConfig | Fügt die generierte Konfiguration in eine vorhandene Datei ein, statt die vorhandene Datei zu überschreiben. |
/noConfig | Es werden keine Konfigurationsdateien generiert. |
Schulung
Modul
Dokumentation zur Verbesserung der Entwickleroberfläche einer API mit Swagger - Training
Hier erfahren Sie, wie Sie eine vorhandene in C#/ASP.NET Core geschriebene API mit Swashbuckle, Swagger/OpenAPI und Swagger UI dokumentieren.