Übersicht über die MetadatenarchitekturMetadata Architecture Overview

Windows Communication Foundation (WCF) bietet eine umfangreiche Infrastruktur für exportieren, veröffentlichen, abrufen und Importieren von Dienstmetadaten.Windows Communication Foundation (WCF) provides a rich infrastructure for exporting, publishing, retrieving, and importing service metadata. WCF-Dienste mithilfe von Metadaten beschrieben, wie für die Interaktion mit den Endpunkten des Diensts, sodass Tools, z. B. Svcutil.exe, automatisch Clientcode für den Zugriff auf den Dienst generieren können.WCF services use metadata to describe how to interact with the service's endpoints so that tools, such as Svcutil.exe, can automatically generate client code for accessing the service.

Die meisten Typen, die die WCF-Metadaten-Infrastruktur bilden, befinden sich in der System.ServiceModel.Description Namespace.Most of the types that make up the WCF metadata infrastructure reside in the System.ServiceModel.Description namespace.

WCF verwendet die ServiceEndpoint Klasse, um Endpunkte in einem Dienst zu beschreiben.WCF uses the ServiceEndpoint class to describe endpoints in a service. Sie können WCF verwenden, um Metadaten für Dienstendpunkte generieren oder Importieren von Dienstmetadaten zu generieren ServiceEndpoint Instanzen.You can use WCF to generate metadata for service endpoints or import service metadata to generate ServiceEndpoint instances.

WCF stellt die Metadaten für einen Dienst als eine Instanz von der MetadataSet Typ, dessen Struktur an das Metadaten-Serialisierungsformat in WS-MetadataExchange definiert eng.WCF represents the metadata for a service as an instance of the MetadataSet type, the structure of which is strongly tied to the metadata serialization format defined in WS-MetadataExchange. Der MetadataSet-Typ fasst die eigentlichen Dienstmetadaten, wie WSDL (Web Services Description Language)-Dokumente, XML-Schemadokumente oder WS-Richtlinienausdrücke, in einer Auflistung von MetadataSection-Instanzen zusammen.The MetadataSet type bundles the actual service metadata, such as Web Services Description Language (WSDL) documents, XML schema documents, or WS-Policy expressions, as a collection of MetadataSection instances. Jede System.ServiceModel.Description.MetadataSection-Instanz enthält einen bestimmten Metadaten-Dialekt und einen Bezeichner.Each System.ServiceModel.Description.MetadataSection instance contains a specific metadata dialect and an identifier. Ein System.ServiceModel.Description.MetadataSection-Element kann die folgenden Elemente in seiner MetadataSection.Metadata-Eigenschaft enthalten:A System.ServiceModel.Description.MetadataSection can contain the following items in its MetadataSection.Metadata property:

System.ServiceModel.Description.MetadataReference-Instanzen zeigen auf einen anderen MEX (Metadata Exchange)-Endpunkt, und System.ServiceModel.Description.MetadataLocation-Instanzen zeigen mithilfe einer HTTP-URL auf ein Metadatendokument.A System.ServiceModel.Description.MetadataReference instances point to another metadata exchange (MEX) endpoint and System.ServiceModel.Description.MetadataLocation instances point to a metadata document using an HTTP URL. WCF unterstützt die Verwendung von WSDL-Dokumenten zur Beschreibung von Dienstendpunkten, Dienstverträgen, Bindungen, Nachrichtenaustauschmuster, Nachrichten und Fehlermeldungen, die durch einen Dienst implementiert.WCF supports using WSDL documents to describe service endpoints, service contracts, bindings, message exchange patterns, messages and fault messages implemented by a service. Die vom Dienst verwendeten Datentypen werden in WSDL-Dokumenten mithilfe eines XML-Schemas beschrieben.Data types used by the service are described in WSDL documents using XML schema. Weitere Informationen finden Sie unter Schema-Import / Export.For more information, see Schema Import and Export. Sie können WCF verwenden, exportieren und Importieren von WSDL-Erweiterungen für Dienstverhalten, Vertragsverhalten und Bindungselemente, die die Funktionalität eines Diensts erweitern.You can use WCF to export and import WSDL extensions for service behavior, contract behaviors, and binding elements that extend the functionality of a service. Weitere Informationen finden Sie unter Exportieren von benutzerdefinierten Metadaten für einen WCF-Erweiterung.For more information, see Exporting Custom Metadata for a WCF Extension.

Exportieren von DienstmetadatenExporting Service Metadata

In WCF metadatenexport versteht man Beschreibung von Dienstendpunkten und Ihrer Projektion in eine parallele, standardisierte Darstellung, die Clients verwenden können, wie Sie den Dienst verwenden können.In WCF, metadata export is the process of describing service endpoints and projecting them into a parallel, standardized representation that clients can use to understand how to use the service. Mit einer Implementierung der abstrakten ServiceEndpoint-Klasse können Sie Metadaten aus MetadataExporter-Instanzen exportieren.To export metadata from ServiceEndpoint instances, use an implementation of the MetadataExporter abstract class. Eine System.ServiceModel.Description.MetadataExporter-Implementierung generiert Metadaten, die in einer MetadataSet-Instanz gekapselt werden.A System.ServiceModel.Description.MetadataExporter implementation generates metadata that is encapsulated in a MetadataSet instance.

Die System.ServiceModel.Description.MetadataExporter-Klasse stellt ein Framework für die Generierung von Richtlinienausdrücken bereit, welche die Fähigkeiten und Anforderungen einer Endpunktbindung und die zugehörigen Vorgänge, Meldungen und Fehler beschreiben.The System.ServiceModel.Description.MetadataExporter class provides a framework for generating policy expressions that describe the capabilities and requirements of an endpoint binding and its associated operations, messages, and faults. Diese Richtlinienausdrücke werden in einer PolicyConversionContext-Instanz aufgezeichnet.These policy expressions are captured in a PolicyConversionContext instance. Eine System.ServiceModel.Description.MetadataExporter-Implementierung kann diese Richtlinienausdrücke dann an die von ihr generierten Metadaten anfügen.A System.ServiceModel.Description.MetadataExporter implementation can then attach these policy expressions to the metadata it generates.

Der System.ServiceModel.Description.MetadataExporter ruft jedes System.ServiceModel.Channels.BindingElement-Objekt auf, das die IPolicyExportExtension-Schnittstelle in der Bindung eines ServiceEndpoint implementiert, wenn ein PolicyConversionContext-Objekt für die zu verwendende System.ServiceModel.Description.MetadataExporter-Implementierung erzeugt wird.The System.ServiceModel.Description.MetadataExporter calls into each System.ServiceModel.Channels.BindingElement that implements the IPolicyExportExtension interface in the binding of a ServiceEndpoint when generating a PolicyConversionContext object for the System.ServiceModel.Description.MetadataExporter implementation to use. Sie können neue Richtlinienassertionen exportieren, indem Sie die IPolicyExportExtension-Schnittstelle in Ihren benutzerdefinierten Implementierungen des BindingElement-Typs implementieren.You can export new policy assertions by implementing the IPolicyExportExtension interface on your custom implementations of the BindingElement type.

Die WsdlExporter Typ ist die Implementierung der System.ServiceModel.Description.MetadataExporter abstrakte Klasse, die in WCF enthalten.The WsdlExporter type is the implementation of the System.ServiceModel.Description.MetadataExporter abstract class included with WCF. Der WsdlExporter-Typ generiert WSDL-Metadaten mit angefügten Richtlinienausdrücken.The WsdlExporter type generates WSDL metadata with attached policy expressions.

Um benutzerdefinierte WSDL-Metadaten oder WSDL-Ausdrücke für Endpunktverhalten, Vertragsverhalten oder Bindungselemente in einem Dienstendpunkt zu exportieren, können Sie die IWsdlExportExtension-Schnittstelle implementieren.To export custom WSDL metadata or WSDL extensions for endpoint behaviors, contract behaviors, or binding elements in a service endpoint, you can implement the IWsdlExportExtension interface. Der WsdlExporter untersucht eine ServiceEndpoint-Instanz daraufhin, ob sie Bindungselemente, Vorgangsverhalten, Vertragsverhalten und Endpunktverhalten enthält, die beim Erzeugen eines WSDL-Dokuments die IWsdlExportExtension-Schnittstelle implementieren.The WsdlExporter looks at a ServiceEndpoint instance for binding elements, operation behaviors, contract behaviors, and endpoint behaviors that implement the IWsdlExportExtension interface when generating the WSDL document.

Veröffentlichen von DienstmetadatenPublishing Service Metadata

WCF-Dienste veröffentlichen Metadaten, indem Sie eine oder mehrere Metadatenendpunkte verfügbar machen.WCF services publish metadata by exposing one or more metadata endpoints. Durch die Veröffentlichung von Dienstmetadaten werden die Dienstmetadaten mithilfe standardisierter Protokolle, wie MEX und HTTP/GET-Anforderungen, zur Verfügung gestellt.Publishing service metadata makes service metadata available using standardized protocols, such as MEX and HTTP/GET requests. Metadatenendpunkte ähneln anderen Dienstendpunkten insofern, als dass sie über eine Adresse, eine Bindung und einen Vertrag verfügen.Metadata endpoints are similar to other service endpoints in that they have an address, a binding, and a contract. Sie können einem Diensthost in der Konfiguration oder im Code Metadatenendpunkte hinzufügen.You can add metadata endpoints to a service host in configuration or in code.

Um Metadatenendpunkte für einen WCF-Dienst veröffentlichen, müssen Sie zunächst eine Instanz von Hinzufügen der ServiceMetadataBehavior -Dienstverhalten zum Dienst.To publish metadata endpoints for a WCF service, you must first add an instance of the ServiceMetadataBehavior service behavior to the service. Durch das Hinzufügen einer System.ServiceModel.Description.ServiceMetadataBehavior-Instanz zu einem Dienst wird der Dienst um die Fähigkeit ergänzt, Metadaten zu veröffentlichen, indem er einen oder mehrere Metadatenendpunkt verfügbar macht.Adding a System.ServiceModel.Description.ServiceMetadataBehavior instance to your service augments your service with the ability to publish metadata by exposing one or more metadata endpoints. Sobald Sie das System.ServiceModel.Description.ServiceMetadataBehavior-Dienstverhalten hinzufügen, können Sie Metadatenendpunkte verfügbar machen, die das MEX-Protokoll unterstützen, oder Metadatenendpunkte, die auf die HTTP/GET-Anforderungen antworten.Once you add the System.ServiceModel.Description.ServiceMetadataBehavior service behavior you can then expose metadata endpoints that support the MEX protocol or metadata endpoints that respond to HTTP/GET requests.

Um Metadatenendpunkte hinzuzufügen, die das MEX-Protokoll verwenden, fügen Sie Dienstendpunkte zum Diensthost, der den Dienstvertrag verwenden benannte IMetadataExchange.WCF definiert die IMetadataExchange Schnittstelle, die diesen Vertrag-Dienstnamen aufweist.To add metadata endpoints that use the MEX protocol, add service endpoints to your service host that use the service contract named IMetadataExchange.WCF defines the IMetadataExchange interface that has this service contract name. WS-MetadataExchange-Endpunkte oder MEX-Endpunkte können eine der vier standardbindungen nutzen verfügbar gemacht werden von den statischen Factorymethoden auf der MetadataExchangeBindings Klasse, um die standardbindungen von WCF-Tools, z. B. Svcutil.exe verwendet wird.WS-MetadataExchange endpoints, or MEX endpoints, can use one of the four default bindings exposed by the static factory methods on the MetadataExchangeBindings class to match the default bindings used by WCF tools, such as Svcutil.exe. Sie können MEX-Metadatenendpunkte auch mithilfe einer benutzerdefinierten Bindung konfigurieren.You can also configure MEX metadata endpoints using a custom binding.

Das ServiceMetadataBehavior verwendet einen System.ServiceModel.Description.WsdlExporter, um Metadaten für alle Dienstendpunkte in den Dienst zu exportieren.The ServiceMetadataBehavior uses a System.ServiceModel.Description.WsdlExporter to export metadata for all service endpoints in your service. Weitere Informationen zum Exportieren von Metadaten von einem Dienst finden Sie unter exportieren und Importieren von Metadaten.For more information about exporting metadata from a service, see Exporting and Importing Metadata.

Das ServiceMetadataBehavior ergänzt den Diensthost, indem eine ServiceMetadataExtension-Instanz als Erweiterung dem Diensthost hinzugefügt wird.The ServiceMetadataBehavior augments your service host by adding a ServiceMetadataExtension instance as an extension to your service host. Die System.ServiceModel.Description.ServiceMetadataExtension stellt die Implementierung für die Metadaten bereit, die Protokolle veröffentlichen.The System.ServiceModel.Description.ServiceMetadataExtension provides the implementation for the metadata publishing protocols. Sie können darüber hinaus System.ServiceModel.Description.ServiceMetadataExtension verwenden, um die Metadaten des Diensts bei Laufzeit abzurufen, indem Sie auf die Metadata-Eigenschaft zugreifen.You can also use the System.ServiceModel.Description.ServiceMetadataExtension to get the service's metadata at runtime by accessing the Metadata property.

Achtung

Wenn Sie der Konfigurationsdatei Ihrer Anwendung einen MEX-Endpunkt hinzufügen und anschließend dem Diensthost im Code das ServiceMetadataBehavior-Element hinzufügen, wird sinngemäß folgende Ausnahme ausgegeben:If you add a MEX endpoint in your application configuration file and then attempt to add the ServiceMetadataBehavior to your service host in code you get the following exception:

System.InvalidOperationException: Der Vertragsname "IMetadataExchange" wurde nicht in der Liste der von Dienst "Service1" implementierten Verträge gefunden.System.InvalidOperationException: The contract name 'IMetadataExchange' could not be found in the list of contracts implemented by the service Service1. Fügen Sie der Konfigurationsdatei oder dem ServiceHost ein ServiceMetadataBehavior-Element hinzu, um die Unterstützung des Vertrags zu aktivieren.Add a ServiceMetadataBehavior to the configuration file or to the ServiceHost directly to enable support for this contract.

Fügen Sie der Konfigurationsdatei das ServiceMetadataBehavior-Element hinzu, oder fügen Sie den Endpunkt und das ServiceMetadataBehavior-Element im Code hinzu, um das Problem zu umgehen.You can work around this issue by either adding the ServiceMetadataBehavior in the configuration file or adding both the endpoint and ServiceMetadataBehavior in code.

Ein Beispiel zum Hinzufügen von ServiceMetadataBehavior in einer Anwendungskonfigurationsdatei finden Sie unter der Einstieg.For an example of adding ServiceMetadataBehavior in an application configuration file, see the Getting Started. Ein Beispiel zum Hinzufügen von ServiceMetadataBehavior im Code finden Sie unter der Selbsthosting Beispiel.For an example of adding ServiceMetadataBehavior in code, see the Self-Host sample.

Achtung

Beim Veröffentlichen von Metadaten für einen Dienst, der zwei unterschiedliche Dienstverträge verfügbar macht, in denen jeweils eine Operation mit dem gleichen Namen enthalten ist, wird eine Ausnahme ausgelöst.When publishing metadata for a service that exposes two different service contracts in which each contain an operation of the same name an exception is thrown. Beispiel: Wenn ein Dienst einen Dienstvertrag namens "ICarService" mit einer Get(Car c)-Operation verfügbar macht und der gleiche Dienst einen Dienstvertrag namens "IBookService" mit einer Get(Book b)-Operation verfügbar macht, wird beim Erstellen der Metadaten für den Dienst eine Ausnahme ausgelöst oder eine Fehlermeldung angezeigt.For example, if you have a service that exposes a service contract called ICarService that has an operation Get(Car c) and the same service exposes a service contract called IBookService that has an operation Get(Book b), an exception is thrown or an error message is displayed when generating the service's metadata. Verwenden Sie eine der folgenden Vorgehensweisen, um dieses Problem zu umgehen:To work around this issue do one of the following:

  • Benennen Sie eine der Operationen um.Rename one of the operations.
    • Legen Sie die Name-Eigenschaft auf einen anderen Namen fest.Set the Name to a different name.
    • Legen Sie einen der Namespaces der Operation mit der Namespace-Eigenschaft auf einen anderen Namespace fest.Set one of the operations' namespaces to a different namespace using the Namespace property.

Abrufen der DienstmetadatenRetrieving Service Metadata

WCF kann Dienstmetadaten mithilfe standardisierter Protokolle, z. B. WS-MetadataExchange- und HTTP-abgerufen werden.WCF can retrieve service metadata using standardized protocols such as WS-MetadataExchange and HTTP. Beide Protokolle werden vom MetadataExchangeClient-Typ unterstützt.Both of these protocols are supported by the MetadataExchangeClient type. Sie rufen Dienstmetadaten mit dem System.ServiceModel.Description.MetadataExchangeClient-Typ ab, indem Sie eine Adresse und eine optionale Bindung angeben.You retrieve service metadata using the System.ServiceModel.Description.MetadataExchangeClient type by providing an address and an optional binding. Bei der von einer System.ServiceModel.Description.MetadataExchangeClient-Instanz verwendeten Bindung kann es sich um eine der Standardbindungen aus der statischen MetadataExchangeBindings-Klasse, eine vom Benutzer angegebene Bindung oder eine aus einer Endpunktkonfiguration für den IMetadataExchange-Vertrag geladene Bindung handeln.The binding used by a System.ServiceModel.Description.MetadataExchangeClient instance can be one of the default bindings from the MetadataExchangeBindings static class, a user-supplied binding, or a binding loaded from an endpoint configuration for the IMetadataExchange contract. Der System.ServiceModel.Description.MetadataExchangeClient kann auch HTTP-URL-Verweise auf Metadaten mit dem HttpWebRequest-Typ auflösen.The System.ServiceModel.Description.MetadataExchangeClient can also resolve HTTP URL references to metadata using the HttpWebRequest type.

Standardmäßig wird eine System.ServiceModel.Description.MetadataExchangeClient-Instanz an eine einzelne ChannelFactoryBase-Instanz gebunden.By default, a System.ServiceModel.Description.MetadataExchangeClient instance is tied to a single ChannelFactoryBase instance. Sie können die ChannelFactoryBase-Instanz, die von einem System.ServiceModel.Description.MetadataExchangeClient verwendet wird, durch Überschreiben der virtuellen GetChannelFactory-Methode ändern oder ersetzen.You can change or replace the ChannelFactoryBase instance used by a System.ServiceModel.Description.MetadataExchangeClient by overriding the GetChannelFactory virtual method. Ebenso können Sie die System.Net.HttpWebRequest-Instanz, die von einem System.ServiceModel.Description.MetadataExchangeClient zur Erstellung von HTTP/GET-Anforderungen verwendet wird, durch Überschreiben der virtuellen MetadataExchangeClient.GetWebRequest-Methode ändern oder ersetzen.Similarly, you can change or replace the System.Net.HttpWebRequest instance used by a System.ServiceModel.Description.MetadataExchangeClient to make HTTP/GET requests by overriding the MetadataExchangeClient.GetWebRequest virtual method.

Sie können Dienstmetadaten mithilfe von WS-MetadataExchange oder HTTP/GET-Anforderungen durch das Tool Svcutil.exe verwenden, und übergeben Abrufen der /target:metadata Switch- und eine Adresse.You can retrieve service metadata using WS-MetadataExchange or HTTP/GET requests by using the Svcutil.exe tool and passing the /target:metadata switch and an address. Svcutil.exe lädt die Metadaten von der angegebenen Adresse herunter und speichert die Dateien auf dem Datenträger.Svcutil.exe downloads the metadata at the specified address and saves the files to disk. Svcutil.exe verwendet intern eine System.ServiceModel.Description.MetadataExchangeClient-Instanz und lädt die MEX-Endpunktkonfiguration, deren Name mit dem Schema der an Svcutil.exe als Eingabe weitergegebenen Adresse übereinstimmt, aus der Anwendungskonfigurationsdatei, sofern vorhanden.Svcutil.exe uses a System.ServiceModel.Description.MetadataExchangeClient instance internally and loads an MEX endpoint configuration (from the application configuration file) whose name matches the scheme of the address passed to Svcutil.exe, if one exists. Andernfalls verwendet Svcutil.exe standardmäßig eine der Bindungen, die durch den statischen MetadataExchangeBindings-Factorytyp definiert werden.Otherwise, Svcutil.exe defaults to using one of the bindings defined by the MetadataExchangeBindings static factory type.

Importieren von DienstmetadatenImporting Service Metadata

In WCF versteht man Metadatenimport eine abstrakte Darstellung eines Diensts oder seiner Komponenten aus dessen Metadaten generiert.In WCF, metadata import is the process of generating an abstract representation of a service or its component parts from its metadata. Beispielsweise kann WCF importieren ServiceEndpoint Instanzen Binding Instanzen oder ContractDescription Instanzen aus einem WSDL-Dokument für einen Dienst.For example, WCF can import ServiceEndpoint instances, Binding instances or ContractDescription instances from a WSDL document for a service. Zum Importieren von Metadaten von Diensten in WCF mit einer Implementierung der der MetadataImporter abstrakte Klasse.To import service metadata in WCF, use an implementation of the MetadataImporter abstract class. Typen, die Ableitung der System.ServiceModel.Description.MetadataImporter Klasse implementieren die Unterstützung für das Importieren von metadatenformaten, die WS-Richtlinie nutzen Logik in WCF importieren.Types that derive from the System.ServiceModel.Description.MetadataImporter class implement support for importing metadata formats that take advantage of the WS-Policy import logic in WCF.

Eine System.ServiceModel.Description.MetadataImporter-Implementierung sammelt die an die Dienstmetadaten angefügten Richtlinienausdrücke in einem PolicyConversionContext-Objekt.A System.ServiceModel.Description.MetadataImporter implementation collects the policy expressions attached to the service metadata in a PolicyConversionContext object. Der System.ServiceModel.Description.MetadataImporter verarbeitet die Richtlinien dann im Rahmen des Importvorgangs, indem er die Implementierungen der IPolicyImportExtension-Schnittstelle in der PolicyImportExtensions-Eigenschaft aufruft.The System.ServiceModel.Description.MetadataImporter then processes the policies as part of importing the metadata by calling the implementations of the IPolicyImportExtension interface in the PolicyImportExtensions property.

Sie können einen System.ServiceModel.Description.MetadataImporter um Unterstützung für den Import neuer Richtlinienassertionen erweitern, indem Sie Ihre eigene Implementierung der IPolicyImportExtension-Schnittstelle der PolicyImportExtensions-Auflistung in einer System.ServiceModel.Description.MetadataImporter-Instanz hinzufügen.You can add support for importing new policy assertions to a System.ServiceModel.Description.MetadataImporter by adding your own implementation of the IPolicyImportExtension interface to the PolicyImportExtensions collection on a System.ServiceModel.Description.MetadataImporter instance. Sie können stattdessen die Richtlinienimporterweiterung auch in der Konfigurationsdatei der Clientanwendung registrieren.Alternatively, you can register your policy import extension in your client application configuration file.

Die System.ServiceModel.Description.WsdlImporter Typ ist die Implementierung der System.ServiceModel.Description.MetadataImporter abstrakte Klasse, die in WCF enthalten.The System.ServiceModel.Description.WsdlImporter type is the implementation of the System.ServiceModel.Description.MetadataImporter abstract class included with WCF. Der System.ServiceModel.Description.WsdlImporter-Typ importiert WSDL-Metadaten mit angefügten Richtlinien, die in einem MetadataSet-Objekt zusammengefasst sind.The System.ServiceModel.Description.WsdlImporter type imports WSDL metadata with attached policies that are bundled in a MetadataSet object.

Um Unterstützung für das Importieren von WSDL-Erweiterungen hinzuzufügen, implementieren Sie die IWsdlImportExtension-Schnittstelle, und fügen Sie diese Implementierung der WsdlImportExtensions-Eigenschaft der System.ServiceModel.Description.WsdlImporter-Instanz hinzu.You can add support for importing WSDL extensions by implementing the IWsdlImportExtension interface and then adding your implementation to the WsdlImportExtensions property on your System.ServiceModel.Description.WsdlImporter instance. Der System.ServiceModel.Description.WsdlImporter kann auch Implementierungen der System.ServiceModel.Description.IWsdlImportExtension-Schnittstelle laden, die in der Clientkonfigurationsdatei registriert ist.The System.ServiceModel.Description.WsdlImporter can also load implementations of the System.ServiceModel.Description.IWsdlImportExtension interface registered in your client application configuration file.

Dynamische BindungenDynamic Bindings

Sie können die Bindung, die zum Erstellen eines Kanals zu einem Dienstendpunkt verwendet wird, dynamisch aktualisieren, wenn sich die Bindung für den Endpunkt ändert oder wenn Sie einen Kanal zu einem Endpunkt erstellen möchten, der den gleichen Vertrag verwendet, aber über eine andere Bindung verfügt.You can dynamically update the binding that you use to create a channel to a service endpoint in the event that the binding for the endpoint changes or you want to create a channel to an endpoint that uses the same contract but has a different binding. Sie können mithilfe der statischen MetadataResolver-Klasse zur Laufzeit Metadaten für Dienstendpunkte abrufen und importieren, die einen bestimmten Vertrag implementieren.You can use the MetadataResolver static class to retrieve and import metadata at runtime for service endpoints that implement a specific contract. Mit den importierten System.ServiceModel.Description.ServiceEndpoint-Objekten können Sie einen Client oder eine Kanalfactory für den gewünschten Endpunkt erstellen.You can then use the imported System.ServiceModel.Description.ServiceEndpoint objects to create a client or channel factory to the desired endpoint.

Siehe auchSee Also

System.ServiceModel.Description
MetadatenformateMetadata Formats
Exportieren und Importieren von MetadatenExporting and Importing Metadata
Veröffentlichen von MetadatenPublishing Metadata
Abrufen von MetadatenRetrieving Metadata
Verwenden von MetadatenUsing Metadata
Sicherheitsüberlegungen für MetadatenSecurity Considerations with Metadata
Erweitern des MetadatensystemsExtending the Metadata System