다음을 통해 공유


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

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

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

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

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

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

참고하십시오