MetadataResolver Class
Retrieves and imports metadata as ServiceEndpoint objects.
Assembly: System.ServiceModel (in System.ServiceModel.dll)
The MetadataResolver type exposes the following members.
| Name | Description | |
|---|---|---|
![]() ![]() | BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, AsyncCallback, Object) | Begins an asynchronous call that resolves a metadata address into the ServiceEndpoint objects for the specified contracts, using the specified address and asynchronous state and delegate. |
![]() ![]() | BeginResolve(Type, EndpointAddress, AsyncCallback, Object) | Begins an asynchronous call that resolves a metadata address into the ServiceEndpoint objects for the specified contract using the specified address and asynchronous state and delegate. |
![]() ![]() | BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient, AsyncCallback, Object) | Begins an asynchronous call that resolves a metadata address into the ServiceEndpoint objects for the specified contracts, using the specified address, System.ServiceModel.Description.MetadataExchangeClient, asynchronous state and delegate. |
![]() ![]() | BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, AsyncCallback, Object) | Begins an asynchronous call that resolves a metadata address into the ServiceEndpoint objects for the specified contracts, using the specified address, System.ServiceModel.Description.MetadataExchangeClientMode value, asynchronous state and delegate. |
![]() ![]() | BeginResolve(Type, Uri, MetadataExchangeClientMode, AsyncCallback, Object) | Begins an asynchronous call that resolves a metadata address into the ServiceEndpoint objects for the specified contract, using the specified address, System.ServiceModel.Description.MetadataExchangeClientMode, asynchronous state and delegate. |
![]() ![]() | BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient, AsyncCallback, Object) | Begins an asynchronous call that resolves a metadata address into the ServiceEndpoint objects for the specified contracts, using the specified address, System.ServiceModel.Description.MetadataExchangeClient, System.ServiceModel.Description.MetadataExchangeClientMode, asynchronous state, and delegate. |
![]() ![]() | EndResolve | Completes an asynchronous call to resolve metadata into a collection of endpoints. |
![]() ![]() | Resolve(IEnumerable<ContractDescription>, EndpointAddress) | Resolves a metadata address into the ServiceEndpoint objects for the specified contracts using the specified metadata address. |
![]() ![]() | Resolve(Type, EndpointAddress) | Downloads and resolves a metadata address into a collection of ServiceEndpoint objects for a specified contract at a specified address. |
![]() ![]() | Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient) | Resolves a metadata address into the ServiceEndpoint objects for the specified contracts using the specified metadata address and System.ServiceModel.Description.MetadataExchangeClient. |
![]() ![]() | Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode) | Resolves a metadata address into the ServiceEndpoint objects for the specified contracts using the specified address and transfer mode. |
![]() ![]() | Resolve(Type, Uri, MetadataExchangeClientMode) | Resolves a metadata address into the ServiceEndpoint objects for the specified contract using the specified address and transfer mode. |
![]() ![]() | Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient) | Resolves a metadata address into the ServiceEndpoint objects for the specified contracts using the specified address, transfer mode, and transfer client. |
Use the MetadataResolver class to quickly import endpoints for a service from metadata. This class downloads and converts metadata into ServiceEndpoint objects. To download metadata and process that information as a System.ServiceModel.Description.MetadataSet, see System.ServiceModel.Description.MetadataExchangeClient.
The following code example shows the use of the MetadataResolver class to return metadata as a collection of ServiceEndpoint objects that are then used to connect to a service instance.
// Get the endpoints for such a service ServiceEndpointCollection endpoints = MetadataResolver.Resolve(typeof(SampleServiceClient),metaAddress); Console.WriteLine("Trying all available WS-Transfer metadata endpoints..."); foreach (ServiceEndpoint point in endpoints) { if (point != null) { // Create a new wcfClient using retrieved endpoints. wcfClient = new SampleServiceClient(point.Binding, point.Address); Console.WriteLine( wcfClient.SampleMethod("Client used the " + point.Address.ToString() + " address.") ); wcfClient.Close(); } }
The following code example shows the use of the MetadataResolver to download and return metadata as a collection of ServiceEndpoint objects using an HTTP GET request rather than WS-Transfer.
// Get the endpoints for such a service using Http/Get request endpoints = MetadataResolver.Resolve(typeof(SampleServiceClient),httpGetMetaAddress.Uri, MetadataExchangeClientMode.HttpGet); Client.WriteParameters(endpoints); ISampleService serviceChannel; Console.WriteLine( "\r\nTrying all endpoints from HTTP/Get and with direct service channels..."); foreach (ServiceEndpoint point in endpoints) { if (point != null) { ChannelFactory<ISampleService> factory = new ChannelFactory<ISampleService>(point.Binding); factory.Endpoint.Address = point.Address; serviceChannel = factory.CreateChannel(); Console.WriteLine("Client used the " + point.Address.ToString() + " address."); Console.WriteLine( serviceChannel.SampleMethod( "Client used the " + point.Address.ToString() + " address." ) ); factory.Close(); } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

