MetadataResolver Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Načte a importuje metadata jako ServiceEndpoint objekty.
public ref class MetadataResolver abstract sealed
public static class MetadataResolver
type MetadataResolver = class
Public Class MetadataResolver
- Dědičnost
-
MetadataResolver
Příklady
Následující příklad kódu ukazuje použití MetadataResolver třídy k vrácení metadat jako kolekce ServiceEndpoint objektů, které se pak používají pro připojení k instanci služby.
// 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();
}
}
Následující příklad kódu ukazuje použití MetadataResolver ke stažení a vrácení metadat jako kolekce ServiceEndpoint objektů pomocí požadavku HTTP GET místo 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();
}
}
Poznámky
MetadataResolver Pomocí třídy můžete rychle importovat koncové body pro službu z metadat. Tato třída stáhne a převede metadata na ServiceEndpoint objekty. Chcete-li stáhnout metadata a zpracovat informace jako System.ServiceModel.Description.MetadataSet, viz System.ServiceModel.Description.MetadataExchangeClient.
Metody
| Name | Description |
|---|---|
| BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, AsyncCallback, Object) |
Zahájí asynchronní volání, které přeloží adresu metadat na ServiceEndpoint objekty pro zadané kontrakty pomocí zadané adresy a asynchronního stavu a delegáta. |
| BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient, AsyncCallback, Object) |
Zahájí asynchronní volání, které přeloží adresu metadat na ServiceEndpoint objekty pro zadané kontrakty pomocí zadané adresy, MetadataExchangeClientasynchronního stavu a delegáta. |
| BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, AsyncCallback, Object) |
Zahájí asynchronní volání, které přeloží adresu metadat na ServiceEndpoint objekty pro zadané kontrakty pomocí zadané adresy, MetadataExchangeClientMode hodnoty, asynchronního stavu a delegáta. |
| BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient, AsyncCallback, Object) |
Zahájí asynchronní volání, které přeloží adresu metadat na ServiceEndpoint objekty pro zadané kontrakty, pomocí zadané adresy, MetadataExchangeClient, asynchronního MetadataExchangeClientModestavu a delegáta. |
| BeginResolve(Type, EndpointAddress, AsyncCallback, Object) |
Zahájí asynchronní volání, které přeloží adresu metadat na ServiceEndpoint objekty zadaného kontraktu pomocí zadané adresy a asynchronního stavu a delegáta. |
| BeginResolve(Type, Uri, MetadataExchangeClientMode, AsyncCallback, Object) |
Zahájí asynchronní volání, které přeloží adresu metadat na ServiceEndpoint objekty pro zadaný kontrakt pomocí zadané adresy, MetadataExchangeClientModeasynchronního stavu a delegáta. |
| EndResolve(IAsyncResult) |
Dokončí asynchronní volání pro překlad metadat do kolekce koncových bodů. |
| Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient) |
Vyřeší adresu metadat do ServiceEndpoint objektů pro zadané kontrakty pomocí zadané adresy metadat a MetadataExchangeClient. |
| Resolve(IEnumerable<ContractDescription>, EndpointAddress) |
Vyřeší adresu metadat do ServiceEndpoint objektů pro zadané kontrakty pomocí zadané adresy metadat. |
| Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient) |
Vyřeší adresu metadat do ServiceEndpoint objektů pro zadané kontrakty pomocí zadané adresy, režimu přenosu a převodu klienta. |
| Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode) |
Vyřeší adresu metadat do ServiceEndpoint objektů pro zadané kontrakty pomocí zadané adresy a režimu přenosu. |
| Resolve(Type, EndpointAddress) |
Stáhne a přeloží adresu metadat do kolekce ServiceEndpoint objektů pro zadaný kontrakt na zadané adrese. |
| Resolve(Type, Uri, MetadataExchangeClientMode) |
Vyřeší adresu metadat do ServiceEndpoint objektů zadané smlouvy pomocí zadané adresy a režimu přenosu. |