MetadataResolver Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Récupère et importe des métadonnées en tant qu'objets ServiceEndpoint.
public ref class MetadataResolver abstract sealed
public static class MetadataResolver
type MetadataResolver = class
Public Class MetadataResolver
- Héritage
-
MetadataResolver
Exemples
L'exemple de code suivant indique comment utiliser la classe MetadataResolver pour retourner des métadonnées en tant que collection d'objets ServiceEndpoint qui servent ensuite à se connecter à une instance de service.
// 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();
}
}
L'exemple de code suivant met en œuvre MetadataResolver pour télécharger et retourner des métadonnées sous forme de collection d'objets ServiceEndpoint à l'aide d'une demande HTTP GET, au lieu de 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();
}
}
Remarques
Utilisez la classe MetadataResolver pour importer rapidement des points de terminaison pour un service à partir de métadonnées. Cette classe télécharge et convertit les métadonnées en objets ServiceEndpoint. Pour télécharger des métadonnées et traiter ces informations en tant que System.ServiceModel.Description.MetadataSet, consultez System.ServiceModel.Description.MetadataExchangeClient.
Méthodes
BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, AsyncCallback, Object) |
Commence un appel asynchrone qui résout une adresse de métadonnées en objets ServiceEndpoint pour les contrats spécifiés, à l'aide de l'adresse, de l'état asynchrone et du délégué spécifiés. |
BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient, AsyncCallback, Object) |
Commence un appel asynchrone qui résout une adresse de métadonnées en objets ServiceEndpoint pour les contrats spécifiés, à l'aide de l'adresse, du MetadataExchangeClient, de l'état asynchrone et du délégué spécifiés. |
BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, AsyncCallback, Object) |
Commence un appel asynchrone qui résout une adresse de métadonnées en objets ServiceEndpoint pour les contrats spécifiés, à l'aide de l'adresse, de la valeur MetadataExchangeClientMode, de l'état asynchrone et du délégué spécifiés. |
BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient, AsyncCallback, Object) |
Commence un appel asynchrone qui résout une adresse de métadonnées en objets ServiceEndpoint pour les contrats spécifiés, à l'aide de l'adresse, du MetadataExchangeClient, du MetadataExchangeClientMode, de l'état asynchrone et du délégué spécifiés. |
BeginResolve(Type, EndpointAddress, AsyncCallback, Object) |
Commence un appel asynchrone qui résout une adresse de métadonnées en objets ServiceEndpoint pour le contrat spécifié, à l'aide de l'adresse, de l'état asynchrone et du délégué spécifiés. |
BeginResolve(Type, Uri, MetadataExchangeClientMode, AsyncCallback, Object) |
Commence un appel asynchrone qui résout une adresse de métadonnées en objets ServiceEndpoint pour le contrat spécifié, à l'aide de l'adresse, du MetadataExchangeClientMode, de l'état asynchrone et du délégué spécifiés. |
EndResolve(IAsyncResult) |
Termine un appel asynchrone pour résoudre des métadonnées en une collection de points de terminaison. |
Resolve(IEnumerable<ContractDescription>, EndpointAddress) |
Résout une adresse de métadonnées en objets ServiceEndpoint pour les contrats spécifiés à l'aide de l'adresse de métadonnées spécifiée. |
Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient) |
Résout une adresse de métadonnées en objets ServiceEndpoint pour les contrats spécifiés à l'aide de l'adresse de métadonnées et du MetadataExchangeClient spécifiés. |
Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode) |
Résout une adresse de métadonnées en objets ServiceEndpoint pour les contrats spécifiés à l'aide de l'adresse de métadonnées et du mode de transfert spécifiés. |
Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient) |
Résout une adresse de métadonnées en objets ServiceEndpoint pour les contrats spécifiés à l'aide de l'adresse de métadonnées, du mode de transfert et du client de transfert spécifiés. |
Resolve(Type, EndpointAddress) |
Télécharge et résout une adresse de métadonnées en une collection d'objets ServiceEndpoint pour un contrat spécifique à une adresse donnée. |
Resolve(Type, Uri, MetadataExchangeClientMode) |
Résout une adresse de métadonnées en objets ServiceEndpoint pour le contrat spécifié à l'aide de l'adresse de métadonnées et du mode de transfert spécifiés. |