MetadataResolver Clase

Definición

Recupera e importa metadatos como ServiceEndpoint objetos .

public ref class MetadataResolver abstract sealed
public static class MetadataResolver
type MetadataResolver = class
Public Class MetadataResolver
Herencia
MetadataResolver

Ejemplos

En el ejemplo de código siguiente se muestra el uso de la MetadataResolver clase para devolver metadatos como una colección de ServiceEndpoint objetos que, a continuación, se usan para conectarse a una instancia de servicio.

// 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();
    }
}

En el ejemplo de código siguiente se muestra el uso de MetadataResolver para descargar y devolver metadatos como una colección de ServiceEndpoint objetos mediante una solicitud HTTP GET en lugar de 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();
    }
}

Comentarios

Use la MetadataResolver clase para importar rápidamente los puntos de conexión de un servicio a partir de metadatos. Esta clase descarga y convierte metadatos en ServiceEndpoint objetos. Para descargar metadatos y procesar esa información como , System.ServiceModel.Description.MetadataSetvea System.ServiceModel.Description.MetadataExchangeClient.

Métodos

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

Comienza una llamada asincrónica que resuelve una dirección de metadatos en los objetos de los ServiceEndpoint contratos especificados, utilizando la dirección especificada y el estado asincrónico y el delegado.

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

Comienza una llamada asincrónica que resuelve una dirección de metadatos en los objetos de los ServiceEndpoint contratos especificados, utilizando la dirección especificada, , MetadataExchangeClientel estado asincrónico y el delegado.

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

Comienza una llamada asincrónica que resuelve una dirección de metadatos en los objetos de los ServiceEndpoint contratos especificados, utilizando la dirección, el valor, MetadataExchangeClientMode el estado asincrónico y el delegado especificados.

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

Comienza una llamada asincrónica que resuelve una dirección de metadatos en los objetos de los ServiceEndpoint contratos especificados, utilizando la dirección especificada, MetadataExchangeClient, , MetadataExchangeClientModeel estado asincrónico y el delegado.

BeginResolve(Type, EndpointAddress, AsyncCallback, Object)

Comienza una llamada asincrónica que resuelve una dirección de metadatos en los ServiceEndpoint objetos del contrato especificado mediante la dirección y el estado asincrónico y el delegado especificados.

BeginResolve(Type, Uri, MetadataExchangeClientMode, AsyncCallback, Object)

Comienza una llamada asincrónica que resuelve una dirección de metadatos en los ServiceEndpoint objetos del contrato especificado, utilizando la dirección especificada, , MetadataExchangeClientModeel estado asincrónico y el delegado.

EndResolve(IAsyncResult)

Completa una llamada asincrónica para resolver los metadatos en una colección de puntos de conexión.

Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient)

Resuelve una dirección de metadatos en los objetos de los ServiceEndpoint contratos especificados mediante la dirección de metadatos especificada y MetadataExchangeClient.

Resolve(IEnumerable<ContractDescription>, EndpointAddress)

Resuelve una dirección de metadatos en los objetos de los ServiceEndpoint contratos especificados mediante la dirección de metadatos especificada.

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

Resuelve una dirección de metadatos en los objetos de los ServiceEndpoint contratos especificados mediante la dirección, el modo de transferencia y el cliente de transferencia especificados.

Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode)

Resuelve una dirección de metadatos en los objetos de los ServiceEndpoint contratos especificados mediante la dirección y el modo de transferencia especificados.

Resolve(Type, EndpointAddress)

Descarga y resuelve una dirección de metadatos en una colección de ServiceEndpoint objetos para un contrato especificado en una dirección especificada.

Resolve(Type, Uri, MetadataExchangeClientMode)

Resuelve una dirección de metadatos en los ServiceEndpoint objetos del contrato especificado mediante la dirección y el modo de transferencia especificados.

Se aplica a