MetadataResolver クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
メタデータを取得し、 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();
}
}
次のコード例は、WS-Transfer ではなく HTTP GET 要求を使用して、 MetadataResolver を使用してメタデータをダウンロードし、 ServiceEndpoint オブジェクトのコレクションとして返す方法を示しています。
// 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を参照してください。