MetadataResolver Classe

Definição

Recupera e importa metadados como objetos ServiceEndpoint.Retrieves and imports metadata as ServiceEndpoint objects.

public ref class MetadataResolver abstract sealed
public static class MetadataResolver
type MetadataResolver = class
Public Class MetadataResolver
Herança
MetadataResolver

Exemplos

O exemplo de código a seguir mostra o uso da MetadataResolver classe para retornar metadados como uma coleção de ServiceEndpoint objetos que são usados para se conectar a uma instância de serviço.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();
    }
}

O exemplo de código a seguir mostra o uso do MetadataResolver para baixar e retornar metadados como uma coleção de ServiceEndpoint objetos usando uma solicitação HTTP Get em vez de WS-Transfer.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();
    }
}

Comentários

Use a MetadataResolver classe para importar rapidamente pontos de extremidade para um serviço de metadados.Use the MetadataResolver class to quickly import endpoints for a service from metadata. Essa classe baixa e converte metadados em ServiceEndpoint objetos.This class downloads and converts metadata into ServiceEndpoint objects. Para baixar metadados e processar essas informações como um System.ServiceModel.Description.MetadataSet , consulte System.ServiceModel.Description.MetadataExchangeClient .To download metadata and process that information as a System.ServiceModel.Description.MetadataSet, see System.ServiceModel.Description.MetadataExchangeClient.

Métodos

BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, AsyncCallback, Object)

Inicia uma chamada assíncrona que resolve um endereço de metadados nos objetos ServiceEndpoint para os contratos especificados, usando o endereço especificado e o representante e o estado assíncrono.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(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient, AsyncCallback, Object)

Inicia uma chamada assíncrona que resolve um endereço de metadados nos objetos ServiceEndpoint para os contratos especificados, usando o endereço especificado, MetadataExchangeClient e o representante e o estado assíncrono.Begins an asynchronous call that resolves a metadata address into the ServiceEndpoint objects for the specified contracts, using the specified address, MetadataExchangeClient, asynchronous state and delegate.

BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, AsyncCallback, Object)

Inicia uma chamada assíncrona que resolve um endereço de metadados nos objetos ServiceEndpoint para os contratos especificados, usando o endereço especificado, o valor MetadataExchangeClientMode e o representante e o estado assíncrono.Begins an asynchronous call that resolves a metadata address into the ServiceEndpoint objects for the specified contracts, using the specified address, MetadataExchangeClientMode value, asynchronous state and delegate.

BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient, AsyncCallback, Object)

Inicia uma chamada assíncrona que resolve um endereço de metadados nos objetos ServiceEndpoint para os contratos especificados, usando o endereço especificado, MetadataExchangeClient, MetadataExchangeClientMode e o representante e o estado assíncrono.Begins an asynchronous call that resolves a metadata address into the ServiceEndpoint objects for the specified contracts, using the specified address, MetadataExchangeClient, MetadataExchangeClientMode, asynchronous state, and delegate.

BeginResolve(Type, EndpointAddress, AsyncCallback, Object)

Inicia uma chamada assíncrona que resolve um endereço de metadados nos objetos ServiceEndpoint para o contrato especificado, usando o endereço especificado e o representante e o estado assíncrono.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(Type, Uri, MetadataExchangeClientMode, AsyncCallback, Object)

Inicia uma chamada assíncrona que resolve um endereço de metadados nos objetos ServiceEndpoint para o contrato especificado, usando o endereço especificado, MetadataExchangeClientMode e o representante e o estado assíncrono.Begins an asynchronous call that resolves a metadata address into the ServiceEndpoint objects for the specified contract, using the specified address, MetadataExchangeClientMode, asynchronous state and delegate.

EndResolve(IAsyncResult)

Conclui uma chamada assíncrona para resolver metadados em uma coleção de pontos de extremidade.Completes an asynchronous call to resolve metadata into a collection of endpoints.

Resolve(IEnumerable<ContractDescription>, EndpointAddress)

Resolve um endereço de metadados nos objetos ServiceEndpoint para os contratos especificados usando o endereço de metadados especificado.Resolves a metadata address into the ServiceEndpoint objects for the specified contracts using the specified metadata address.

Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient)

Resolve um endereço de metadados nos objetos ServiceEndpoint para os contratos especificados usando o endereço de metadados especificado e MetadataExchangeClient.Resolves a metadata address into the ServiceEndpoint objects for the specified contracts using the specified metadata address and MetadataExchangeClient.

Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode)

Resolve um endereço de metadados nos objetos ServiceEndpoint para os contratos especificados usando o endereço e o modo de transferência especificado.Resolves a metadata address into the ServiceEndpoint objects for the specified contracts using the specified address and transfer mode.

Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient)

Resolve um endereço de metadados nos objetos ServiceEndpoint para os contratos especificados usando o endereço, o modo de transferência e o cliente de transferência especificados.Resolves a metadata address into the ServiceEndpoint objects for the specified contracts using the specified address, transfer mode, and transfer client.

Resolve(Type, EndpointAddress)

Baixa e resolve um endereço de metadados em uma coleção de objetos ServiceEndpoint para um contrato especificado em um endereço especificado.Downloads and resolves a metadata address into a collection of ServiceEndpoint objects for a specified contract at a specified address.

Resolve(Type, Uri, MetadataExchangeClientMode)

Resolve um endereço de metadados nos objetos ServiceEndpoint para o contrato especificado usando o endereço e o modo de transferência especificado.Resolves a metadata address into the ServiceEndpoint objects for the specified contract using the specified address and transfer mode.

Aplica-se a