MetadataResolver Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera i importuje metadane jako ServiceEndpoint obiekty.
public ref class MetadataResolver abstract sealed
public static class MetadataResolver
type MetadataResolver = class
Public Class MetadataResolver
- Dziedziczenie
-
MetadataResolver
Przykłady
Poniższy przykład kodu przedstawia użycie MetadataResolver klasy do zwracania metadanych jako kolekcji ServiceEndpoint obiektów, które są następnie używane do nawiązywania połączenia z wystąpieniem usługi.
// 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();
}
}
Poniższy przykład kodu przedstawia użycie MetadataResolver funkcji do pobierania i zwracania metadanych jako kolekcji ServiceEndpoint obiektów przy użyciu żądania HTTP GET, a nie 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();
}
}
Uwagi
MetadataResolver Użyj klasy, aby szybko zaimportować punkty końcowe dla usługi z metadanych. Ta klasa pobiera i konwertuje metadane na ServiceEndpoint obiekty. Aby pobrać metadane i przetworzyć te informacje jako System.ServiceModel.Description.MetadataSetelement , zobacz System.ServiceModel.Description.MetadataExchangeClient.
Metody
BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, AsyncCallback, Object) |
Rozpoczyna wywołanie asynchroniczne, które rozpoznaje adres metadanych w ServiceEndpoint obiektach określonych kontraktów przy użyciu określonego adresu i stanu asynchronicznego i delegata. |
BeginResolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient, AsyncCallback, Object) |
Rozpoczyna wywołanie asynchroniczne, które rozpoznaje adres metadanych w ServiceEndpoint obiektach określonych kontraktów przy użyciu określonego adresu , MetadataExchangeClientstanu asynchronicznego i delegata. |
BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, AsyncCallback, Object) |
Rozpoczyna wywołanie asynchroniczne, które rozpoznaje adres metadanych w ServiceEndpoint obiektach określonych kontraktów przy użyciu określonego adresu, wartości, MetadataExchangeClientMode stanu asynchronicznego i delegata. |
BeginResolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient, AsyncCallback, Object) |
Rozpoczyna wywołanie asynchroniczne, które rozpoznaje adres metadanych w ServiceEndpoint obiektach określonych kontraktów przy użyciu określonego adresu , MetadataExchangeClient, MetadataExchangeClientMode, stanu asynchronicznego i delegata. |
BeginResolve(Type, EndpointAddress, AsyncCallback, Object) |
Rozpoczyna wywołanie asynchroniczne, które rozpoznaje adres metadanych w ServiceEndpoint obiektach określonego kontraktu przy użyciu określonego adresu i stanu asynchronicznego i delegata. |
BeginResolve(Type, Uri, MetadataExchangeClientMode, AsyncCallback, Object) |
Rozpoczyna wywołanie asynchroniczne, które rozpoznaje adres metadanych w ServiceEndpoint obiektach określonego kontraktu przy użyciu określonego adresu , MetadataExchangeClientModestanu asynchronicznego i delegata. |
EndResolve(IAsyncResult) |
Kończy asynchroniczne wywołanie w celu rozpoznania metadanych w kolekcji punktów końcowych. |
Resolve(IEnumerable<ContractDescription>, EndpointAddress) |
Rozpoznaje adres metadanych w ServiceEndpoint obiektach określonych kontraktów przy użyciu określonego adresu metadanych. |
Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient) |
Rozpoznaje adres metadanych w ServiceEndpoint obiektach określonych kontraktów przy użyciu określonego adresu metadanych i MetadataExchangeClient. |
Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode) |
Rozpoznaje adres metadanych w ServiceEndpoint obiektach określonych kontraktów przy użyciu określonego adresu i trybu transferu. |
Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient) |
Rozpoznaje adres metadanych w ServiceEndpoint obiektach określonych kontraktów przy użyciu określonego adresu, trybu transferu i klienta transferu. |
Resolve(Type, EndpointAddress) |
Pobiera i rozpoznaje adres metadanych w kolekcji ServiceEndpoint obiektów dla określonego kontraktu pod określonym adresem. |
Resolve(Type, Uri, MetadataExchangeClientMode) |
Rozpoznaje adres metadanych w ServiceEndpoint obiektach dla określonego kontraktu przy użyciu określonego adresu i trybu transferu. |