MetadataResolver Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Recupera e importa metadatos como ServiceEndpoint objetos .
public ref class MetadataResolver abstract sealed
public static class MetadataResolver
type MetadataResolver = class
Public Class MetadataResolver
- Herencia
-
MetadataResolver
Ejemplos
En el ejemplo de código siguiente se muestra el uso de la MetadataResolver clase para devolver metadatos como una colección de ServiceEndpoint objetos que, a continuación, se usan para conectarse a una instancia de servicio.
// 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();
}
}
En el ejemplo de código siguiente se muestra el uso de MetadataResolver para descargar y devolver metadatos como una colección de ServiceEndpoint objetos mediante una solicitud HTTP GET en lugar 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();
}
}
Comentarios
Use la MetadataResolver clase para importar rápidamente los puntos de conexión de un servicio a partir de metadatos. Esta clase descarga y convierte metadatos en ServiceEndpoint objetos. Para descargar metadatos y procesar esa información como , System.ServiceModel.Description.MetadataSetvea System.ServiceModel.Description.MetadataExchangeClient.
Métodos
| Nombre | Description |
|---|---|
| BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, AsyncCallback, Object) |
Comienza una llamada asincrónica que resuelve una dirección de metadatos en los objetos de los ServiceEndpoint contratos especificados, utilizando la dirección especificada y el estado asincrónico y el delegado. |
| BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient, AsyncCallback, Object) |
Comienza una llamada asincrónica que resuelve una dirección de metadatos en los objetos de los ServiceEndpoint contratos especificados, utilizando la dirección especificada, , MetadataExchangeClientel estado asincrónico y el delegado. |
| BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, AsyncCallback, Object) |
Comienza una llamada asincrónica que resuelve una dirección de metadatos en los objetos de los ServiceEndpoint contratos especificados, utilizando la dirección, el valor, MetadataExchangeClientMode el estado asincrónico y el delegado especificados. |
| BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient, AsyncCallback, Object) |
Comienza una llamada asincrónica que resuelve una dirección de metadatos en los objetos de los ServiceEndpoint contratos especificados, utilizando la dirección especificada, MetadataExchangeClient, , MetadataExchangeClientModeel estado asincrónico y el delegado. |
| BeginResolve(Type, EndpointAddress, AsyncCallback, Object) |
Comienza una llamada asincrónica que resuelve una dirección de metadatos en los ServiceEndpoint objetos del contrato especificado mediante la dirección y el estado asincrónico y el delegado especificados. |
| BeginResolve(Type, Uri, MetadataExchangeClientMode, AsyncCallback, Object) |
Comienza una llamada asincrónica que resuelve una dirección de metadatos en los ServiceEndpoint objetos del contrato especificado, utilizando la dirección especificada, , MetadataExchangeClientModeel estado asincrónico y el delegado. |
| EndResolve(IAsyncResult) |
Completa una llamada asincrónica para resolver los metadatos en una colección de puntos de conexión. |
| Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient) |
Resuelve una dirección de metadatos en los objetos de los ServiceEndpoint contratos especificados mediante la dirección de metadatos especificada y MetadataExchangeClient. |
| Resolve(IEnumerable<ContractDescription>, EndpointAddress) |
Resuelve una dirección de metadatos en los objetos de los ServiceEndpoint contratos especificados mediante la dirección de metadatos especificada. |
| Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient) |
Resuelve una dirección de metadatos en los objetos de los ServiceEndpoint contratos especificados mediante la dirección, el modo de transferencia y el cliente de transferencia especificados. |
| Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode) |
Resuelve una dirección de metadatos en los objetos de los ServiceEndpoint contratos especificados mediante la dirección y el modo de transferencia especificados. |
| Resolve(Type, EndpointAddress) |
Descarga y resuelve una dirección de metadatos en una colección de ServiceEndpoint objetos para un contrato especificado en una dirección especificada. |
| Resolve(Type, Uri, MetadataExchangeClientMode) |
Resuelve una dirección de metadatos en los ServiceEndpoint objetos del contrato especificado mediante la dirección y el modo de transferencia especificados. |