다음을 통해 공유


메타데이터 게시

WCF(Windows Communication Foundation) 서비스는 하나 이상의 메타데이터 끝점을 게시하여 메타데이터를 게시합니다. 서비스 메타데이터를 게시하면 WS-MetadataExchange(MEX) 및 HTTP/GET 요청과 같이 표준화된 프로토콜을 통해 메타데이터를 사용할 수 있습니다. 메타데이터 끝점은 주소, 바인딩 및 계약에 포함된 다른 서비스 끝점과 유사하며 구성 또는 명령 코드를 통해 서비스 호스트에 추가할 수 있습니다.

메타데이터 끝점 게시

WCF 서비스의 메타데이터 끝점을 게시하려면 먼저 ServiceMetadataBehavior 서비스 동작을 해당 서비스에 추가해야 합니다. System.ServiceModel.Description.ServiceMetadataBehavior 인스턴스를 추가하면 서비스가 메타데이터 끝점을 노출할 수 있습니다. System.ServiceModel.Description.ServiceMetadataBehavior 서비스 동작을 추가하면 MEX 프로토콜을 지원하거나 HTTP/GET 요청에 응답하는 메타데이터 끝점을 노출할 수 있습니다.

System.ServiceModel.Description.ServiceMetadataBehaviorWsdlExporter를 사용하여 서비스에 있는 모든 서비스 끝점에 대한 메타데이터를 내보냅니다. 서비스에서 메타데이터 내보내기에 대한 자세한 내용은 메타데이터 내보내기 및 가져오기를 참조하십시오.

System.ServiceModel.Description.ServiceMetadataBehavior A ServiceMetadataExtension 인스턴스를 서비스 호스트에 대한 확장으로 추가합니다. System.ServiceModel.Description.ServiceMetadataExtension은 메타데이터 게시 프로토콜에 대한 구현을 제공합니다. 또한 System.ServiceModel.Description.ServiceMetadataExtension을 통해 System.ServiceModel.Description.ServiceMetadataExtension.Metadata 속성에 액세스하여 서비스 메타데이터를 런타임에 가져올 수 있습니다.

MEX 메타데이터 끝점

MEX 프로토콜을 사용하는 메타데이터 끝점을 추가하려면 IMetadataExchange 서비스 계약을 사용하는 서비스 호스트에 서비스 끝점을 추가합니다. WCF에는 WCF 프로그래밍 모델의 일부로 사용할 수 있는 이 서비스 계약 이름을 가진 IMetadataExchange 인터페이스가 들어 있습니다. WS-MetadataExchange 끝점 또는 MEX 끝점은 MetadataExchangeBindings 클래스에서 정적 팩터리 메서드가 노출하는 4개의 기본 바인딩 중 하나를 사용하여 Svcutil.exe와 같이 WCF 도구에서 사용하는 기본 바인딩과 일치시킬 수 있습니다. 또한 사용자 지정 바인딩을 사용하여 MEX 메타데이터 끝점을 구성할 수도 있습니다.

HTTP GET 메타데이터 끝점

HTTP/GET 요청에 응답하는 서비스에 메타데이터 끝점을 추가하려면 System.ServiceModel.Description.ServiceMetadataBehaviorHttpGetEnabled 속성을 true로 설정합니다. 또한 System.ServiceModel.Description.ServiceMetadataBehaviorHttpsGetEnabled 속성을 true로 설정하여 HTTPS를 사용하는 메타데이터 끝점을 구성할 수도 있습니다.

단원 내용

참조

ServiceMetadataBehavior

IMetadataExchange

ServiceMetadataExtension

MetadataExchangeBindings

참고 항목

개념

메타데이터 내보내기 및 가져오기