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 stahuje a převádí metadata na ServiceEndpoint objekty. Pokud chcete stáhnout metadata a zpracovat je jako , podívejte System.ServiceModel.Description.MetadataExchangeClientse na System.ServiceModel.Description.MetadataSet.
Metody
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 do ServiceEndpoint objektů 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 , MetadataExchangeClientMetadataExchangeClientMode, asynchronního stavu a delegáta. |
BeginResolve(Type, EndpointAddress, AsyncCallback, Object) |
Zahájí asynchronní volání, které přeloží adresu metadat do ServiceEndpoint objektů pro zadaný kontrakt 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 do ServiceEndpoint objektů 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) |
Přeloží adresu metadat na ServiceEndpoint objekty pro zadané kontrakty pomocí zadané adresy metadat. |
Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient) |
Přeloží adresu metadat na ServiceEndpoint objekty pro zadané kontrakty pomocí zadané adresy metadat a MetadataExchangeClient. |
Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode) |
Přeloží adresu metadat na ServiceEndpoint objekty pro zadané kontrakty pomocí zadané adresy a režimu přenosu. |
Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient) |
Přeloží adresu metadat na ServiceEndpoint objekty pro zadané kontrakty pomocí zadané adresy, režimu přenosu a klienta 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) |
Přeloží adresu metadat do ServiceEndpoint objektů pro zadaný kontrakt pomocí zadané adresy a režimu přenosu. |