다음을 통해 공유


WCF 확장에 대한 사용자 지정 메타데이터 내보내기

WCF(Windows Communication Foundation)에서 메타데이터 내보내기는 서비스 엔드포인트를 설명하여 클라이언트에서 서비스 사용 방법을 이해할 수 있도록 병렬의 표준화된 표현으로 나타내는 프로세스입니다. 사용자 지정 메타데이터는 시스템에서 제공한 메타데이터 내보내기에서 내보낼 수 없는 XML 요소로 구성됩니다. 일반적으로 여기에는 사용자 정의 동작 및 바인딩 요소에 대한 사용자 지정 WSDL 요소를 비롯하여 바인딩 및 계약의 기능과 요구 사항에 대한 정책 어설션이 포함됩니다.

이 단원에서는 사용자 지정 WSDL 또는 정책 어설션 내보내기에 대해 설명하지만 내보내기 프로세스 자체를 중점적으로 설명하지는 않습니다. 메타데이터가 사용자 지정이든 시스템에서 구성되었든 관계없이 메타데이터를 내보내고 가져오는 형식을 사용하는 방법에 대한 자세한 내용은 메타데이터 내보내기 및 가져오기를 참조하세요.

개요

System.ServiceModel.Description.ServiceMetadataBehavior를 사용하여 메타데이터를 게시할 경우 System.ServiceModel.Description.ServiceDescription을 검사하고 시스템에 제공된 특성과 바인딩을 사용하여 WCF에서 지원 가능한 모든 계약 및 바인딩에 대한 XSD 및 WSDL(정책 어설션 포함)을 생성합니다. 그러나 메타데이터를 올바르게 내보내려면 먼저 사용자 지정 동작 특성 또는 바인딩 요소가 지원되어야 합니다.

이 단원의 내용은 다음과 같습니다.

  1. WSDL을 게시하기 전에 WSDL 생성 데이터를 공개하는 System.ServiceModel.Description.IWsdlExportExtension 인터페이스를 구현하고 사용하는 방법

  2. WSDL 데이터에서 정책 어설션을 내보내기 전에 정책 데이터를 공개하는 System.ServiceModel.Description.IPolicyExportExtension 인터페이스를 구현하고 사용하는 방법

사용자 지정 WSDL 및 정책 어설션을 가져오는 방법에 대한 자세한 내용은 WCF 확장에 대한 사용자 지정 메타데이터 포함을 참조하세요.

사용자 지정 WSDL 요소 내보내기

작업 동작, 계약 동작, 엔드포인트 동작 또는 바인딩 요소(각각 IWsdlExportExtension, IOperationBehavior, IContractBehavior, IEndpointBehavior)에서 System.ServiceModel.Channels.BindingElement을 구현하고, 내보낼 서비스에 대한 설명에 동작 또는 바인딩 요소를 삽입합니다. 동작 삽입에 대한 자세한 내용은 동작을 사용하여 런타임 구성 및 확장을 참조하세요. 각 엔드포인트에 대해 IWsdlExportExtension이 호출되고 각 엔드포인트에서 계약을 먼저 내보냅니다(아직 내보내지 않은 경우). 필요에 따라 내보내기 프로세스에 참여할 수 있습니다.

ExportContract 메서드는 내보낼 IWsdlExportExtension 인스턴스 내의 모든 System.ServiceModel.Description.ContractDescription 구현에 대해 호출됩니다. ExportEndpoint 메서드는 내보낼 IWsdlExportExtension 인스턴스가 있는 모든 System.ServiceModel.Description.ServiceEndpoint 구현에 대해 호출됩니다.

자세한 내용은 방법: 사용자 지정 WSDL 내보내기 및 샘플 사용자 지정 WSDL 게시를 참조하세요.

사용자 지정 정책 어설션 내보내기

IPolicyExportExtension에서 BindingElement을 구현하고 바인딩에 바인딩 요소를 추가하여 바인딩 지원 및 계약 기능에 대한 사용자 지정 정책 어설션을 WSDL로 작성합니다. IPolicyExportExtension은 바인딩에서 구현된 바인딩 요소를 내보낼 때 호출되어 PolicyConversionContextExportPolicy 메서드에 전달합니다. ph x="1" /> 인스턴스의 메서드를 사용하여 메시지, 작업 또는 엔드포인트 주체에서 WSDL 바인딩에 연결된 정책 어설션에 추가할 수 있습니다.

자세한 내용은 방법: 사용자 지정 정책 어설션 내보내기를 참조하세요.

참고 항목