MetadataResolver Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Извлекает и импортирует метаданные в виде ServiceEndpoint объектов.
public ref class MetadataResolver abstract sealed
public static class MetadataResolver
type MetadataResolver = class
Public Class MetadataResolver
- Наследование
-
MetadataResolver
Примеры
В следующем примере кода показано использование MetadataResolver класса для возврата метаданных ServiceEndpoint в виде коллекции объектов, которые затем используются для подключения к экземпляру службы.
// 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();
}
}
В следующем примере кода показано использование MetadataResolver метаданных для скачивания и возврата метаданных ServiceEndpoint в качестве коллекции объектов с помощью HTTP-запроса GET, а не 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();
}
}
Комментарии
MetadataResolver Используйте класс для быстрого импорта конечных точек для службы из метаданных. Этот класс скачивает и преобразует метаданные в ServiceEndpoint объекты. Чтобы скачать метаданные и обработать эти сведения в виде System.ServiceModel.Description.MetadataSet, см System.ServiceModel.Description.MetadataExchangeClient. раздел .
Методы
| Имя | Описание |
|---|---|
| BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, AsyncCallback, Object) |
Начинает асинхронный вызов, разрешающий адрес метаданных в ServiceEndpoint объекты для указанных контрактов, используя указанный адрес и асинхронное состояние и делегат. |
| BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient, AsyncCallback, Object) |
Начинает асинхронный вызов, который разрешает адрес метаданных в ServiceEndpoint объекты для указанных контрактов, используя указанный адрес, MetadataExchangeClientасинхронное состояние и делегат. |
| BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, AsyncCallback, Object) |
Начинает асинхронный вызов, разрешающий адрес метаданных в ServiceEndpoint объекты для указанных контрактов, используя указанный адрес, значение, MetadataExchangeClientMode асинхронное состояние и делегат. |
| BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient, AsyncCallback, Object) |
Начинает асинхронный вызов, разрешающий адрес метаданных в ServiceEndpoint объекты для указанных контрактов, используя указанный адрес, MetadataExchangeClientасинхронное MetadataExchangeClientModeсостояние и делегат. |
| BeginResolve(Type, EndpointAddress, AsyncCallback, Object) |
Начинает асинхронный вызов, который разрешает адрес метаданных в ServiceEndpoint объекты для указанного контракта с использованием указанного адреса и асинхронного состояния и делегата. |
| BeginResolve(Type, Uri, MetadataExchangeClientMode, AsyncCallback, Object) |
Начинает асинхронный вызов, который разрешает адрес метаданных в ServiceEndpoint объекты для указанного контракта, используя указанный адрес, MetadataExchangeClientModeасинхронное состояние и делегат. |
| EndResolve(IAsyncResult) |
Завершает асинхронный вызов для разрешения метаданных в коллекцию конечных точек. |
| Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient) |
Разрешает адрес метаданных в ServiceEndpoint объекты для указанных контрактов с помощью указанного адреса метаданных и MetadataExchangeClient. |
| Resolve(IEnumerable<ContractDescription>, EndpointAddress) |
Разрешает адрес метаданных в ServiceEndpoint объекты для указанных контрактов с помощью указанного адреса метаданных. |
| Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient) |
Разрешает адрес метаданных в ServiceEndpoint объекты для указанных контрактов с помощью указанного адреса, режима передачи и передачи клиента. |
| Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode) |
Разрешает адрес метаданных в ServiceEndpoint объекты для указанных контрактов с помощью указанного адреса и режима передачи. |
| Resolve(Type, EndpointAddress) |
Загружает и разрешает адрес метаданных в коллекцию объектов для указанного ServiceEndpoint контракта по указанному адресу. |
| Resolve(Type, Uri, MetadataExchangeClientMode) |
Разрешает адрес метаданных в ServiceEndpoint объекты для указанного контракта с помощью указанного адреса и режима передачи. |