MetadataResolver Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Metaadatokat kér le és importál objektumként ServiceEndpoint .
public ref class MetadataResolver abstract sealed
public static class MetadataResolver
type MetadataResolver = class
Public Class MetadataResolver
- Öröklődés
-
MetadataResolver
Példák
Az alábbi példakód azt mutatja be, hogy az MetadataResolver osztály metaadatokat ad vissza olyan objektumok gyűjteményeként ServiceEndpoint , amelyeket aztán egy szolgáltatáspéldányhoz való csatlakozáshoz használnak.
// 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();
}
}
Az alábbi példakód azt mutatja be, hogy a MetadataResolver metaadatok letöltésére és visszaadására használható objektumgyűjteményként ServiceEndpoint , a WS-Transfer helyett HTTP GET kéréssel.
// 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();
}
}
Megjegyzések
MetadataResolver Az osztály használatával gyorsan importálhat végpontokat egy szolgáltatáshoz metaadatokból. Ez az osztály letölti és objektummá alakítja a metaadatokat ServiceEndpoint . A metaadatok letöltéséhez és az információk feldolgozásához tekintse meg a következőtSystem.ServiceModel.Description.MetadataSetSystem.ServiceModel.Description.MetadataExchangeClient:
Metódusok
| Name | Description |
|---|---|
| BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, AsyncCallback, Object) |
Elindít egy aszinkron hívást, amely felold egy metaadat-címet a ServiceEndpoint megadott szerződések objektumaiba a megadott cím és aszinkron állapot és delegálás használatával. |
| BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient, AsyncCallback, Object) |
Elindít egy aszinkron hívást, amely felold egy metaadat-címet a ServiceEndpoint megadott szerződések objektumaiba a megadott cím, MetadataExchangeClientaszinkron állapot és delegálás használatával. |
| BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, AsyncCallback, Object) |
Elindít egy aszinkron hívást, amely felold egy metaadat-címet a ServiceEndpoint megadott szerződések objektumaiba a megadott cím, érték, MetadataExchangeClientMode aszinkron állapot és delegálás használatával. |
| BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient, AsyncCallback, Object) |
Elindít egy aszinkron hívást, amely felold egy metaadat-címet a ServiceEndpoint megadott szerződések objektumaiba a megadott cím, MetadataExchangeClient, MetadataExchangeClientModeaszinkron állapot és delegálás használatával. |
| BeginResolve(Type, EndpointAddress, AsyncCallback, Object) |
Elindít egy aszinkron hívást, amely felold egy metaadat-címet a ServiceEndpoint megadott szerződés objektumaiba a megadott cím és aszinkron állapot és delegálás használatával. |
| BeginResolve(Type, Uri, MetadataExchangeClientMode, AsyncCallback, Object) |
Elindít egy aszinkron hívást, amely felold egy metaadat-címet a ServiceEndpoint megadott szerződés objektumaiba a megadott cím, MetadataExchangeClientModeaszinkron állapot és delegálás használatával. |
| EndResolve(IAsyncResult) |
A metaadatok végpontok gyűjteményébe való feloldására irányuló aszinkron hívást hajt végre. |
| Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient) |
A megadott metaadat-cím és ServiceEndpointa megadott metaadat-cím használatával feloldja a megadott szerződések metaadat-címét MetadataExchangeClient a megadott szerződések objektumai között. |
| Resolve(IEnumerable<ContractDescription>, EndpointAddress) |
A megadott metaadat-cím használatával feloldja a ServiceEndpoint metaadat-címeket a megadott szerződések objektumai között. |
| Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient) |
A megadott cím, átviteli mód és átadási ügyfél használatával feloldja a ServiceEndpoint metaadat-címeket a megadott szerződések objektumaiba. |
| Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode) |
A megadott cím- és átviteli móddal feloldja a ServiceEndpoint metaadat-címeket a megadott szerződések objektumaiba. |
| Resolve(Type, EndpointAddress) |
Letölti és feloldja a metaadat-címeket egy adott szerződés objektumgyűjteményében ServiceEndpoint egy megadott címen. |
| Resolve(Type, Uri, MetadataExchangeClientMode) |
A megadott cím és átviteli mód használatával feloldja a ServiceEndpoint metaadat-címeket a megadott szerződés objektumaiba. |