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를 참조하십시오.