MetadataResolver Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Recupera e importa i metadati come oggetti ServiceEndpoint.
public ref class MetadataResolver abstract sealed
public static class MetadataResolver
type MetadataResolver = class
Public Class MetadataResolver
- Ereditarietà
-
MetadataResolver
Esempio
Nell'esempio di codice seguente viene illustrato l'utilizzo della classe MetadataResolver per restituire i metadati come raccolta di oggetti ServiceEndpoint che verranno quindi utilizzati per la connessione a un'istanza del servizio.
// 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();
}
}
Nell'esempio di codice seguente viene illustrato l'utilizzo di MetadataResolver per scaricare e restituire metadati come raccolta di oggetti ServiceEndpoint utilizzando una richiesta HTTP GET anziché 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();
}
}
Commenti
Utilizzare la classe MetadataResolver per importare rapidamente endpoint per un servizio da metadati. Questa classe scarica e converte metadati in oggetti ServiceEndpoint. Per scaricare metadati ed elaborare tali informazioni come System.ServiceModel.Description.MetadataSet, vedere System.ServiceModel.Description.MetadataExchangeClient.
Metodi
BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, AsyncCallback, Object) |
Avvia una chiamata asincrona che risolve un indirizzo di metadati in oggetti ServiceEndpoint per i contratti specificati, utilizzando l'indirizzo, lo stato asincrono e il delegato specificati. |
BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient, AsyncCallback, Object) |
Avvia una chiamata asincrona che risolve un indirizzo di metadati in oggetti ServiceEndpoint per i contratti specificati, utilizzando l'indirizzo, l'oggetto MetadataExchangeClient, lo stato asincrono e il delegato specificati. |
BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, AsyncCallback, Object) |
Avvia una chiamata asincrona che risolve un indirizzo di metadati in oggetti ServiceEndpoint per i contratti specificati, utilizzando l'indirizzo, il valore MetadataExchangeClientMode, lo stato asincrono e il delegato specificati. |
BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient, AsyncCallback, Object) |
Avvia una chiamata asincrona che risolve un indirizzo di metadati in oggetti ServiceEndpoint per i contratti specificati, utilizzando l'indirizzo, MetadataExchangeClient, MetadataExchangeClientMode, lo stato asincrono e il delegato specificati. |
BeginResolve(Type, EndpointAddress, AsyncCallback, Object) |
Avvia una chiamata asincrona che risolve un indirizzo di metadati in oggetti ServiceEndpoint per il contratto specificato, utilizzando l'indirizzo, lo stato asincrono e il delegato specificati. |
BeginResolve(Type, Uri, MetadataExchangeClientMode, AsyncCallback, Object) |
Avvia una chiamata asincrona che risolve un indirizzo di metadati in oggetti ServiceEndpoint per il contratto specificato, utilizzando l'indirizzo, l'oggetto MetadataExchangeClientMode, lo stato asincrono e il delegato specificati. |
EndResolve(IAsyncResult) |
Completa una chiamata asincrona per risolvere i metadati in una raccolta di endpoint. |
Resolve(IEnumerable<ContractDescription>, EndpointAddress) |
Risolve un indirizzo di metadati in oggetti ServiceEndpoint per i contratti specificati utilizzando l'indirizzo di metadati specificato. |
Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient) |
Risolve un indirizzo di metadati in oggetti ServiceEndpoint per i contratti specificati utilizzando l'indirizzo di metadati e l'oggetto MetadataExchangeClient specificati. |
Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode) |
Risolve un indirizzo di metadati in oggetti ServiceEndpoint per i contratti specificati utilizzando l'indirizzo e la modalità di trasferimento specificati. |
Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient) |
Risolve un indirizzo di metadati in oggetti ServiceEndpoint per i contratti specificati utilizzando l'indirizzo, nonché la modalità e il client di trasferimento specificati. |
Resolve(Type, EndpointAddress) |
Scarica e risolve un indirizzo di metadati in una raccolta di oggetti ServiceEndpoint per un contratto specificato a un indirizzo specificato. |
Resolve(Type, Uri, MetadataExchangeClientMode) |
Risolve un indirizzo di metadati in oggetti ServiceEndpoint per il contratto specificato utilizzando l'indirizzo e la modalità di trasferimento specificati. |