Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dies System.ServiceModel.Description.ServiceMetadataBehavior bietet Unterstützung für das Hinzufügen eines Metadatenendpunkts zu einem Dienst. Diese Metadatenendpunkte können auf HTTP-GET-Anforderungen bei einer URL reagieren, die eine Abfragezeichenfolge ?wsdl enthält, und auf WS-Transfer GET-Anforderungen gemäß der Definition in der Spezifikation WS-MetadataExchange (MEX). 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 aktiviert, indem die Eigenschaften ServiceMetadataBehavior.HttpGetEnabled oder ServiceMetadataBehavior.HttpsGetEnabled auf true gesetzt werden. Die Bindungen für diese Endpunkte können nicht konfiguriert werden.
Der IMetadataExchange Vertrag kann jedoch mit jedem Endpunkt verwendet werden, einschließlich derer, die benutzerdefinierte Bindungen verwenden, da IMetadataExchange Endpunkte mit jedem anderen WCF-Dienstendpunkt (Windows Communication Foundation) identisch sind. Wenn Sie wissen, wie Sie die Konfiguration einer vom System bereitgestellten Bindung ändern oder wissen, wie Sie eine System.ServiceModel.Channels.CustomBindingBindung konfigurieren, können Sie eine Bindung für die Verwendung mit einem IMetadataExchange Endpunkt konfigurieren.
Abrufen von Metadaten über eine benutzerdefinierte Bindung
Metadaten können von HTTP Get- und HTTPS Get-Metadatenendpunkten mithilfe standardmäßiger HTTP- oder HTTPS GET-Anforderungen abgerufen werden.
Um Metadaten von einem MEX-Metadatenendpunkt abzurufen, können Sie in der Regel eine der standardmäßigen MEX-Bindungen verwenden, die von WCF unterstützt werden. Weitere Informationen finden Sie unter System.ServiceModel.Description.MetadataExchangeBindings. Der System.ServiceModel.Description.MetadataExchangeClient Typ und das Svcutil.exe Tool 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 standardmäßigen MEX-Bindungen verwendet, können Sie die Bindung konfigurieren, die von MetadataExchangeClient mit Code verwendet wird, oder indem Sie eine IMetadataExchange Clientendpunktkonfiguration bereitstellen. Das tool Svcutil.exe lädt automatisch aus der Konfigurationsdatei eine IMetadataExchange Clientendpunktkonfiguration mit demselben Namen wie das URI-Schema für die Metadatenendpunktadresse.
Sicherheit
Stellen Sie beim Veröffentlichen von Metadaten über eine benutzerdefinierte Bindung sicher, dass die Bindung die für Ihre Metadaten benötigten Sicherheitsunterstützung bereitstellt. Um die Offenlegung von Informationen zu verhindern und sicherzustellen, dass Ihr Client das Recht hat, die Metadaten zu erhalten, können Sie Ihre Metadaten und Ihre Anwendung sicherer machen, indem Sie Ihren IMetadataExchange Endpunkt so konfigurieren, dass Authentifizierung und Verschlüsselung erforderlich sind. Das Beispiel für den benutzerdefinierten sicheren Metadaten-Endpunkt veranschaulicht dieses Szenario.