MetadataResolver Kelas

Definisi

Mengambil dan mengimpor metadata sebagai ServiceEndpoint objek.

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

Contoh

Contoh kode berikut menunjukkan penggunaan MetadataResolver kelas untuk mengembalikan metadata sebagai kumpulan ServiceEndpoint objek yang kemudian digunakan untuk menyambungkan ke instans layanan.

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

Contoh kode berikut menunjukkan penggunaan MetadataResolver metadata untuk mengunduh dan mengembalikan sebagai kumpulan ServiceEndpoint objek menggunakan permintaan HTTP GET daripada 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();
    }
}

Keterangan

MetadataResolver Gunakan kelas untuk mengimpor titik akhir dengan cepat untuk layanan dari metadata. Kelas ini mengunduh dan mengonversi metadata menjadi ServiceEndpoint objek. Untuk mengunduh metadata dan memproses informasi tersebut sebagai System.ServiceModel.Description.MetadataSet, lihat System.ServiceModel.Description.MetadataExchangeClient.

Metode

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

Memulai panggilan asinkron yang menyelesaikan alamat metadata ke dalam ServiceEndpoint objek untuk kontrak yang ditentukan, menggunakan alamat yang ditentukan dan status asinkron dan delegasi.

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

Memulai panggilan asinkron yang menyelesaikan alamat metadata ke dalam ServiceEndpoint objek untuk kontrak yang ditentukan, menggunakan alamat yang ditentukan, MetadataExchangeClient, status asinkron dan delegasi.

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

Memulai panggilan asinkron yang menyelesaikan alamat metadata ke dalam ServiceEndpoint objek untuk kontrak yang ditentukan, menggunakan alamat, nilai, MetadataExchangeClientMode status asinkron, dan delegasi yang ditentukan.

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

Memulai panggilan asinkron yang menyelesaikan alamat metadata ke dalam ServiceEndpoint objek untuk kontrak yang ditentukan, menggunakan alamat yang ditentukan, MetadataExchangeClient, MetadataExchangeClientMode, status asinkron, dan delegasi.

BeginResolve(Type, EndpointAddress, AsyncCallback, Object)

Memulai panggilan asinkron yang menyelesaikan alamat metadata ke dalam ServiceEndpoint objek untuk kontrak yang ditentukan menggunakan alamat yang ditentukan dan status asinkron dan delegasi.

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

Memulai panggilan asinkron yang menyelesaikan alamat metadata ke dalam ServiceEndpoint objek untuk kontrak yang ditentukan, menggunakan alamat yang ditentukan, MetadataExchangeClientMode, status asinkron dan delegasi.

EndResolve(IAsyncResult)

Menyelesaikan panggilan asinkron untuk menyelesaikan metadata ke dalam kumpulan titik akhir.

Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient)

Menyelesaikan alamat metadata ke ServiceEndpoint dalam objek untuk kontrak yang ditentukan menggunakan alamat metadata yang ditentukan dan MetadataExchangeClient.

Resolve(IEnumerable<ContractDescription>, EndpointAddress)

Menyelesaikan alamat metadata ke dalam ServiceEndpoint objek untuk kontrak yang ditentukan menggunakan alamat metadata yang ditentukan.

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

Menyelesaikan alamat metadata ke dalam ServiceEndpoint objek untuk kontrak yang ditentukan menggunakan alamat, mode transfer, dan klien transfer yang ditentukan.

Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode)

Menyelesaikan alamat metadata ke ServiceEndpoint dalam objek untuk kontrak yang ditentukan menggunakan alamat dan mode transfer yang ditentukan.

Resolve(Type, EndpointAddress)

Mengunduh dan menyelesaikan alamat metadata ke dalam kumpulan ServiceEndpoint objek untuk kontrak tertentu pada alamat tertentu.

Resolve(Type, Uri, MetadataExchangeClientMode)

Menyelesaikan alamat metadata ke ServiceEndpoint dalam objek untuk kontrak yang ditentukan menggunakan alamat dan mode transfer yang ditentukan.

Berlaku untuk