Udostępnij za pośrednictwem


MetadataResolver Klasa

Definicja

Pobiera i importuje metadane jako ServiceEndpoint obiekty.

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

Przykłady

Poniższy przykład kodu przedstawia użycie MetadataResolver klasy do zwracania metadanych jako kolekcji ServiceEndpoint obiektów, które są następnie używane do nawiązywania połączenia z wystąpieniem usługi.

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

Poniższy przykład kodu przedstawia użycie MetadataResolver funkcji do pobierania i zwracania metadanych jako kolekcji ServiceEndpoint obiektów przy użyciu żądania HTTP GET, a nie 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();
    }
}

Uwagi

MetadataResolver Użyj klasy, aby szybko zaimportować punkty końcowe dla usługi z metadanych. Ta klasa pobiera i konwertuje metadane na ServiceEndpoint obiekty. Aby pobrać metadane i przetworzyć te informacje jako System.ServiceModel.Description.MetadataSetelement , zobacz System.ServiceModel.Description.MetadataExchangeClient.

Metody

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

Rozpoczyna wywołanie asynchroniczne, które rozpoznaje adres metadanych w ServiceEndpoint obiektach określonych kontraktów przy użyciu określonego adresu i stanu asynchronicznego i delegata.

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

Rozpoczyna wywołanie asynchroniczne, które rozpoznaje adres metadanych w ServiceEndpoint obiektach określonych kontraktów przy użyciu określonego adresu , MetadataExchangeClientstanu asynchronicznego i delegata.

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

Rozpoczyna wywołanie asynchroniczne, które rozpoznaje adres metadanych w ServiceEndpoint obiektach określonych kontraktów przy użyciu określonego adresu, wartości, MetadataExchangeClientMode stanu asynchronicznego i delegata.

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

Rozpoczyna wywołanie asynchroniczne, które rozpoznaje adres metadanych w ServiceEndpoint obiektach określonych kontraktów przy użyciu określonego adresu , MetadataExchangeClient, MetadataExchangeClientMode, stanu asynchronicznego i delegata.

BeginResolve(Type, EndpointAddress, AsyncCallback, Object)

Rozpoczyna wywołanie asynchroniczne, które rozpoznaje adres metadanych w ServiceEndpoint obiektach określonego kontraktu przy użyciu określonego adresu i stanu asynchronicznego i delegata.

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

Rozpoczyna wywołanie asynchroniczne, które rozpoznaje adres metadanych w ServiceEndpoint obiektach określonego kontraktu przy użyciu określonego adresu , MetadataExchangeClientModestanu asynchronicznego i delegata.

EndResolve(IAsyncResult)

Kończy asynchroniczne wywołanie w celu rozpoznania metadanych w kolekcji punktów końcowych.

Resolve(IEnumerable<ContractDescription>, EndpointAddress)

Rozpoznaje adres metadanych w ServiceEndpoint obiektach określonych kontraktów przy użyciu określonego adresu metadanych.

Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient)

Rozpoznaje adres metadanych w ServiceEndpoint obiektach określonych kontraktów przy użyciu określonego adresu metadanych i MetadataExchangeClient.

Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode)

Rozpoznaje adres metadanych w ServiceEndpoint obiektach określonych kontraktów przy użyciu określonego adresu i trybu transferu.

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

Rozpoznaje adres metadanych w ServiceEndpoint obiektach określonych kontraktów przy użyciu określonego adresu, trybu transferu i klienta transferu.

Resolve(Type, EndpointAddress)

Pobiera i rozpoznaje adres metadanych w kolekcji ServiceEndpoint obiektów dla określonego kontraktu pod określonym adresem.

Resolve(Type, Uri, MetadataExchangeClientMode)

Rozpoznaje adres metadanych w ServiceEndpoint obiektach dla określonego kontraktu przy użyciu określonego adresu i trybu transferu.

Dotyczy