서비스에 System.ServiceModel.Description.ServiceMetadataBehavior 메타데이터 엔드포인트를 추가하기 위한 지원을 제공합니다. 이러한 메타데이터 엔드포인트는 ?wsdl
쿼리 문자열이 있는 URL에서 HTTP GET 요청에 응답하고 WS-MetadataExchange(MEX) 사양에 정의된 대로 WS-Transfer GET 요청을 처리할 수 있습니다. MEX 엔드포인트는 System.ServiceModel.Description.IMetadataExchange 계약을 구현합니다.
사용자 지정 바인딩을 통해 메타데이터 게시
HTTP GET 메타데이터 엔드포인트 및 HTTPS GET 메타데이터 엔드포인트는 ServiceMetadataBehavior.HttpGetEnabled 및 ServiceMetadataBehavior.HttpsGetEnabled 속성을 true
로 설정함으로써 사용하도록 활성화됩니다. 이러한 엔드포인트에 대한 바인딩을 구성할 수 없습니다.
그러나 엔드포인트는 IMetadataExchange 다른 WCF(Windows Communication Foundation) 서비스 엔드포인트와 동일하기 때문에 IMetadataExchange 사용자 지정 바인딩을 사용하는 엔드포인트를 포함하여 모든 엔드포인트에서 계약을 사용할 수 있습니다. 시스템 제공 바인딩 구성을 수정하는 방법을 알고 있거나 System.ServiceModel.Channels.CustomBinding을 구성하는 방법을 알고 있는 경우, IMetadataExchange 엔드포인트에서 사용할 바인딩을 구성할 수 있습니다.
사용자 지정 바인딩을 통해 메타데이터 검색
표준 HTTP 또는 HTTPS GET 요청을 사용하여 HTTP Get 및 HTTPS 메타데이터 가져오기 엔드포인트에서 메타데이터를 검색할 수 있습니다.
MEX 메타데이터 엔드포인트에서 메타데이터를 검색하려면 일반적으로 WCF에서 지원하는 표준 MEX 바인딩 중 하나를 사용할 수 있습니다. 자세한 내용은 System.ServiceModel.Description.MetadataExchangeBindings를 참조하세요. System.ServiceModel.Description.MetadataExchangeClient 형식과 Svcutil.exe 도구는 지정된 메타데이터 엔드포인트의 주소에 따라 이러한 표준 MEX 바인딩 중 하나를 자동으로 선택합니다.
MEX 메타데이터 엔드포인트가 표준 MEX 바인딩 중 하나와 다른 바인딩을 사용하는 경우 코드를 사용하거나 클라이언트 엔드포인트 구성을 제공하여 사용되는 MetadataExchangeClient 바인딩을 IMetadataExchange 구성할 수 있습니다. Svcutil.exe 도구는 메타데이터 엔드포인트 주소에 대한 URI 스키마와 이름이 같은 클라이언트 엔드포인트 구성을 구성 파일 IMetadataExchange 에서 자동으로 로드합니다.
안전
사용자 지정 바인딩을 통해 메타데이터를 게시할 때 바인딩이 메타데이터에 필요한 보안 지원을 제공하는지 확인합니다. 예를 들어 정보 공개를 방지하고 클라이언트가 메타데이터를 가져올 권리가 있는지 확인하려면 인증 및 암호화를 요구하도록 엔드포인트를 구성 IMetadataExchange 하여 메타데이터와 애플리케이션을 보다 안전하게 만들 수 있습니다. 사용자 지정 보안 메타데이터 엔드포인트 샘플은 이 시나리오를 보여 줍니다.