Compartir a través de


MetadataResolver Clase

Definición

Recupera e importa los metadatos como objetos ServiceEndpoint.

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

Ejemplos

El ejemplo de código siguiente muestra el uso de la clase MetadataResolver para devolver los metadatos como una colección de los objetos ServiceEndpoint que se utilizan a continuación para conectarse a una instancia del 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();
    }
}

El ejemplo de código siguiente muestra el uso de MetadataResolver para descargar y devolver los metadatos como una colección de objetos ServiceEndpoint utilizando 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

Utilice la clase MetadataResolver para importar rápidamente los puntos de conexión para un servicio de los metadatos. Esta clase descarga y convierte los metadatos en objetos ServiceEndpoint. Para descargar los metadatos y procesar esta información como System.ServiceModel.Description.MetadataSet, vea System.ServiceModel.Description.MetadataExchangeClient.

Métodos

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

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

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

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

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

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

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

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

BeginResolve(Type, EndpointAddress, AsyncCallback, Object)

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

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

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

EndResolve(IAsyncResult)

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

Resolve(IEnumerable<ContractDescription>, EndpointAddress)

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

Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient)

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

Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode)

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

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

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

Resolve(Type, EndpointAddress)

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

Resolve(Type, Uri, MetadataExchangeClientMode)

Resuelve una dirección de metadatos en objetos ServiceEndpoint para el contrato especificado utilizando la dirección y el modo de transferencia especificados.

Se aplica a