MetadataResolver Klass

Definition

Hämtar och importerar metadata som ServiceEndpoint objekt.

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

Exempel

I följande kodexempel visas hur klassen används MetadataResolver för att returnera metadata som en samling ServiceEndpoint objekt som sedan används för att ansluta till en tjänstinstans.

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

I följande kodexempel visas användningen av MetadataResolver för att ladda ned och returnera metadata som en samling objekt med hjälp av ServiceEndpoint en HTTP GET-begäran i stället för 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();
    }
}

Kommentarer

MetadataResolver Använd klassen för att snabbt importera slutpunkter för en tjänst från metadata. Den här klassen laddar ned och konverterar metadata till ServiceEndpoint objekt. Om du vill ladda ned metadata och bearbeta informationen som en System.ServiceModel.Description.MetadataSet, se System.ServiceModel.Description.MetadataExchangeClient.

Metoder

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

Påbörjar ett asynkront anrop som löser en metadataadress till objekten ServiceEndpoint för de angivna kontrakten med den angivna adressen och det asynkrona tillståndet och ombudet.

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

Påbörjar ett asynkront anrop som löser en metadataadress till objekten ServiceEndpoint för de angivna kontrakten med den angivna adressen , MetadataExchangeClientasynkront tillstånd och ombud.

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

Påbörjar ett asynkront anrop som löser en metadataadress till objekten ServiceEndpoint för de angivna kontrakten med angiven adress, MetadataExchangeClientMode värde, asynkront tillstånd och ombud.

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

Påbörjar ett asynkront anrop som löser en metadataadress till objekten ServiceEndpoint för de angivna kontrakten med hjälp av den angivna adressen , MetadataExchangeClientMetadataExchangeClientMode, asynkront tillstånd och ombud.

BeginResolve(Type, EndpointAddress, AsyncCallback, Object)

Påbörjar ett asynkront anrop som löser en metadataadress till objekten ServiceEndpoint för det angivna kontraktet med den angivna adressen och det asynkrona tillståndet och ombudet.

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

Påbörjar ett asynkront anrop som löser en metadataadress till objekten ServiceEndpoint för det angivna kontraktet med den angivna adressen , MetadataExchangeClientModeasynkront tillstånd och ombud.

EndResolve(IAsyncResult)

Slutför ett asynkront anrop för att matcha metadata till en samling slutpunkter.

Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient)

Löser en metadataadress till objekten ServiceEndpoint för de angivna kontrakten med den angivna metadataadressen och MetadataExchangeClient.

Resolve(IEnumerable<ContractDescription>, EndpointAddress)

Löser en metadataadress till objekten ServiceEndpoint för de angivna kontrakten med den angivna metadataadressen.

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

Löser en metadataadress till objekten ServiceEndpoint för de angivna kontrakten med den angivna adressen, överföringsläget och överföringsklienten.

Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode)

Löser en metadataadress till objekten ServiceEndpoint för de angivna kontrakten med den angivna adressen och överföringsläget.

Resolve(Type, EndpointAddress)

Laddar ned och löser en metadataadress till en samling ServiceEndpoint objekt för ett angivet kontrakt på en angiven adress.

Resolve(Type, Uri, MetadataExchangeClientMode)

Löser en metadataadress till objekten ServiceEndpoint för det angivna kontraktet med den angivna adressen och överföringsläget.

Gäller för