Aracılığıyla paylaş


MetadataResolver Sınıf

Tanım

Meta verileri nesne olarak ServiceEndpoint alır ve içeri aktarır.

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

Örnekler

Aşağıdaki kod örneği, meta verileri daha sonra bir hizmet örneğine bağlanmak için kullanılan bir nesne koleksiyonu ServiceEndpoint olarak döndürmek için sınıfının kullanımını MetadataResolver gösterir.

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

Aşağıdaki kod örneği, WS-Transfer yerine HTTP GET isteği kullanan bir nesne koleksiyonu ServiceEndpoint olarak meta verileri indirmek ve döndürmek için uygulamasının kullanımını MetadataResolver gösterir.

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

Açıklamalar

MetadataResolver Meta verilerden bir hizmetin uç noktalarını hızla içeri aktarmak için sınıfını kullanın. Bu sınıf meta verileri indirir ve nesnelere ServiceEndpoint dönüştürür. Meta verileri indirmek ve bu bilgileri bir System.ServiceModel.Description.MetadataSetolarak işlemek için bkz System.ServiceModel.Description.MetadataExchangeClient. .

Yöntemler

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

Belirtilen adresi ve zaman uyumsuz durumu ve temsilciyi kullanarak, meta veri adresini belirtilen sözleşmeler için nesnelere ServiceEndpoint çözümleyen zaman uyumsuz bir çağrı başlatır.

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

Belirtilen adresiMetadataExchangeClient, zaman uyumsuz durumu ve temsilciyi kullanarak meta veri adresini belirtilen sözleşmeler için nesnelere ServiceEndpoint çözümleyen zaman uyumsuz bir çağrı başlatır.

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

Belirtilen adresiMetadataExchangeClientMode, değeri, zaman uyumsuz durumu ve temsilciyi kullanarak bir meta veri adresini belirtilen sözleşmeler için nesnelere ServiceEndpoint çözümleyen zaman uyumsuz bir çağrı başlatır.

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

Belirtilen adresi, , MetadataExchangeClientMode, zaman uyumsuz durumu ve temsilciyi kullanarak, meta veri adresini MetadataExchangeClientbelirtilen sözleşmeler için nesnelere ServiceEndpoint çözümleyen zaman uyumsuz bir çağrı başlatır.

BeginResolve(Type, EndpointAddress, AsyncCallback, Object)

Belirtilen adresi ve zaman uyumsuz durumu ve temsilciyi kullanarak meta veri adresini belirtilen sözleşme için nesnelere ServiceEndpoint çözümleyen zaman uyumsuz bir çağrı başlatır.

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

Belirtilen adresiMetadataExchangeClientMode, zaman uyumsuz durumu ve temsilciyi kullanarak, meta veri adresini belirtilen sözleşmenin nesnelerine ServiceEndpoint çözümleyen zaman uyumsuz bir çağrı başlatır.

EndResolve(IAsyncResult)

Meta verileri bir uç nokta koleksiyonuna çözümlemek için zaman uyumsuz bir çağrıyı tamamlar.

Resolve(IEnumerable<ContractDescription>, EndpointAddress)

Belirtilen meta veri adresini kullanarak belirtilen sözleşmelerin nesnelerine ServiceEndpoint bir meta veri adresini çözümler.

Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient)

Belirtilen meta veri adresini ve MetadataExchangeClientkullanarak belirtilen sözleşmelerin nesnelerine ServiceEndpoint bir meta veri adresini çözümler.

Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode)

Belirtilen adres ve aktarım modunu kullanarak belirtilen sözleşmelerin nesnelerine ServiceEndpoint bir meta veri adresini çözümler.

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

Belirtilen adresi, aktarım modunu ve aktarım istemcisini ServiceEndpoint kullanarak belirtilen sözleşmelerin nesnelerine bir meta veri adresini çözümler.

Resolve(Type, EndpointAddress)

Bir meta veri adresini, belirtilen bir adreste belirtilen bir sözleşme için bir nesne koleksiyonuna ServiceEndpoint indirir ve çözümler.

Resolve(Type, Uri, MetadataExchangeClientMode)

Belirtilen adres ve aktarım modunu kullanarak belirtilen sözleşmenin nesnelerine ServiceEndpoint bir meta veri adresini çözümler.

Şunlara uygulanır