Share via


Veröffentlichen und Abrufen von Metadaten über eine benutzerdefinierte Bindung

System.ServiceModel.Description.ServiceMetadataBehavior bietet Support für das Hinzufügen von Metadatenendpunkten zu einem Dienst. Diese Metadatenendpunkte können auf HTTP GET-Anforderungen, die bei einem URL mit einer ?wsdl-Abfragezeichenfolge eingehen, und auf WS-Transfer-GET-Anforderungen wie in der WS-MetadataExchange (MEX)-Spezifikation definiert antworten. MEX-Endpunkte implementieren den System.ServiceModel.Description.IMetadataExchange-Vertrag.

Veröffentlichen von Metadaten über eine benutzerdefinierte Bindung

Die HTTP GET-Metadatenendpunkte und HTTPS GET-Metadatenendpunkte werden durch Festlegen der System.ServiceModel.Description.ServiceMetadataBehavior.HttpGetEnabled-Eigenschaften oder System.ServiceModel.Description.ServiceMetadataBehavior.HttpsGetEnabled-Eigenschaften auf true aktiviert. Die Bindungen für diese Endpunkte können nicht konfiguriert werden.

Der IMetadataExchange-Vertrag kann jedoch mit anderen Endpunkten, auch Endpunkten, die benutzerdefinierte Bindungen verwenden, verwendet werden, da IMetadataExchange-Endpunkte sich nicht von anderen Windows Communication Foundation (WCF)-Dienstendpunkten unterscheiden. Wenn Sie wissen, wie Sie die Konfiguration einer vom System bereitgestellten Bindung ändern können oder wie Sie eine System.ServiceModel.Channels.CustomBinding konfigurieren können, dann können Sie eine Bindung so konfigurieren, dass sie mit einem IMetadataExchange-Endpunkt verwendet werden kann.

Abrufen von Metadaten über eine benutzerdefinierte Bindung

Metadaten können von HTTP Get-Metadatenendpunkten und HTTPS Get-Metadatenendpunkten mit Standard-HTTP-Anforderungen bzw. HTTPS-GET-Anforderungen abgerufen werden.

Um Metadaten von einem MEX-Metadatenendpunkt abzurufen, können Sie im Allgemeinen eine der Standard-MEX-Bindungen, die von WCF unterstützt werden, verwenden. Weitere Informationen finden Sie unter System.ServiceModel.Description.MetadataExchangeBindings. Der System.ServiceModel.Description.MetadataExchangeClient-Typ und das Tool "Svcutil.exe" wählen automatisch eine dieser Standard-MEX-Bindungen basierend auf der Adresse des angegebenen Metadatenendpunkts aus.

Wenn ein MEX-Metadatenendpunkt eine andere Bindung als eine der Standard-MEX-Bindungen verwendet, können Sie die vom MetadataExchangeClient verwendete Bindung mit Code oder über die Angabe einer IMetadataExchange-Clientendpunktkonfiguration konfigurieren. Das Tool Svcutil.exe lädt automatisch aus der Konfigurationsdatei eine IMetadataExchange-Clientendpunktkonfiguration, die den gleichen Namen hat wie das URI-Schema für die Metadatenendpunktadresse.

Sicherheit

Stellen Sie beim Veröffentlichen von Metadaten über eine benutzerdefinierte Bindung sicher, dass die Bindung den Sicherheitssupport bietet, der für die Metadaten erforderlich ist. Um beispielsweise die Offenlegung von Informationen zu verhindern und sicherzustellen, dass der Client die Berechtigung hat, die Metadaten abzurufen, können Sie die Metadaten und die Anwendung weiter sichern, indem Sie den IMetadataExchange-Endpunkt so konfigurieren, dass eine Authentifizierung und Verschlüsselung notwendig sind. Im Beispiel Custom Secure Metadata Endpoint wird dieses Szenario dargestellt.

Siehe auch

Aufgaben

Gewusst wie: Konfigurieren einer benutzerdefinierten WS-Metadatenaustausch-Bindung
Gewusst wie: Abrufen von Metadaten über eine benutzerdefinierte Bindung

Konzepte

Sichern von Diensten
WS-MetadataExchange-Bindungen