MetadataResolver Classe

Definizione

Recupera e importa metadati come ServiceEndpoint oggetti.

public ref class MetadataResolver abstract sealed
public static class MetadataResolver
type MetadataResolver = class
Public Class MetadataResolver
Ereditarietà
MetadataResolver

Esempio

Nell'esempio di codice seguente viene illustrato l'uso della MetadataResolver classe per restituire metadati come raccolta di ServiceEndpoint oggetti che vengono quindi usati per connettersi a un'istanza del servizio.

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

Nell'esempio di codice seguente viene illustrato l'uso di MetadataResolver per scaricare e restituire metadati come raccolta di ServiceEndpoint oggetti usando una richiesta HTTP GET anziché 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();
    }
}

Commenti

Usare la MetadataResolver classe per importare rapidamente gli endpoint per un servizio dai metadati. Questa classe scarica e converte i metadati in ServiceEndpoint oggetti. Per scaricare i metadati ed elaborare tali informazioni come System.ServiceModel.Description.MetadataSet, vedere System.ServiceModel.Description.MetadataExchangeClient.

Metodi

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

Avvia una chiamata asincrona che risolve un indirizzo di metadati negli ServiceEndpoint oggetti per i contratti specificati, utilizzando l'indirizzo e lo stato asincrono e il delegato specificati.

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

Avvia una chiamata asincrona che risolve un indirizzo di metadati negli ServiceEndpoint oggetti per i contratti specificati, usando l'indirizzo specificato, MetadataExchangeClientlo stato asincrono e il delegato.

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

Avvia una chiamata asincrona che risolve un indirizzo di metadati negli ServiceEndpoint oggetti per i contratti specificati, utilizzando l'indirizzo, il valore, MetadataExchangeClientMode lo stato asincrono e il delegato specificati.

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

Avvia una chiamata asincrona che risolve un indirizzo di metadati negli ServiceEndpoint oggetti per i contratti specificati, usando l'indirizzo, MetadataExchangeClient, MetadataExchangeClientModelo stato asincrono e il delegato specificati.

BeginResolve(Type, EndpointAddress, AsyncCallback, Object)

Avvia una chiamata asincrona che risolve un indirizzo di metadati negli ServiceEndpoint oggetti per il contratto specificato utilizzando l'indirizzo e lo stato asincrono e il delegato specificati.

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

Avvia una chiamata asincrona che risolve un indirizzo di metadati negli ServiceEndpoint oggetti per il contratto specificato, usando l'indirizzo specificato, MetadataExchangeClientModelo stato asincrono e il delegato.

EndResolve(IAsyncResult)

Completa una chiamata asincrona per risolvere i metadati in una raccolta di endpoint.

Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient)

Risolve un indirizzo di metadati negli ServiceEndpoint oggetti per i contratti specificati usando l'indirizzo dei metadati e MetadataExchangeClient.

Resolve(IEnumerable<ContractDescription>, EndpointAddress)

Risolve un indirizzo di metadati negli ServiceEndpoint oggetti per i contratti specificati usando l'indirizzo di metadati specificato.

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

Risolve un indirizzo di metadati negli ServiceEndpoint oggetti per i contratti specificati usando l'indirizzo, la modalità di trasferimento e il client di trasferimento specificati.

Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode)

Risolve un indirizzo di metadati negli ServiceEndpoint oggetti per i contratti specificati utilizzando l'indirizzo e la modalità di trasferimento specificati.

Resolve(Type, EndpointAddress)

Scarica e risolve un indirizzo di metadati in una raccolta di ServiceEndpoint oggetti per un contratto specificato in un indirizzo specificato.

Resolve(Type, Uri, MetadataExchangeClientMode)

Risolve un indirizzo di metadati negli ServiceEndpoint oggetti per il contratto specificato utilizzando l'indirizzo e la modalità di trasferimento specificati.

Si applica a