Sdílet prostřednictvím


Export vlastních metadat pro rozšíření WCF

Export metadat ve Windows Communication Foundation (WCF) je proces popisu koncových bodů služby a jejich promítání do paralelního standardizovaného znázornění, které můžou klienti použít k pochopení toho, jak službu používat. Vlastní metadata se skládají z elementů XML, které nelze exportovat ze systémových exportérů metadat. Obvykle to zahrnuje vlastní elementy WSDL pro uživatelem definované chování a vazby elementů a kontrolní výrazy zásad o možnostech a požadavcích vazeb a kontraktů.

Tato část popisuje export vlastních kontrolních výrazů WSDL nebo zásad a nezaměřuje se na samotný proces exportu. Další informace o tom, jak používat typy, které exportují a importují metadata bez ohledu na to, jestli jsou metadata vlastní nebo systémová, najdete v tématu Export a import metadat.

Přehled

Když se metadata publikují pomocí , System.ServiceModel.Description.ServiceMetadataBehaviorprozkoumá System.ServiceModel.Description.ServiceDescription se a XSD a WSDL – včetně kontrolních výrazů zásad – se vygenerují pro všechny kontrakty a vazby, které WCF může podporovat pomocí systémových atributů a vazeb. Atributy vlastního chování nebo prvky vazby však vyžadují podporu, aby bylo možné je správně exportovat.

Tato část popisuje:

  1. Jak implementovat a používat System.ServiceModel.Description.IWsdlExportExtension rozhraní, které zveřejňuje data generování WSDL před publikováním WSDL.

  2. Jak implementovat a používat System.ServiceModel.Description.IPolicyExportExtension rozhraní, které před exportem kontrolních výrazů zásad do dat WSDL zveřejňuje data zásad.

Další informace o importu vlastních kontrolních výrazů WSDL a zásad naleznete v tématu Import vlastních metadat pro rozšíření WCF.

Export vlastních elementů WSDL

IWsdlExportExtension Implementujte chování operace, chování kontraktu, chování koncového bodu nebo element vazby (IOperationBehavior, IContractBehavior, IEndpointBehavior, nebo System.ServiceModel.Channels.BindingElement v uvedeném pořadí) a vložte chování nebo prvky vazby do popisu služby, kterou se pokoušíte exportovat. (Další informace o vkládání chování najdete v tématu Konfigurace a rozšíření modulu runtime pomocí chování) Volá se IWsdlExportExtension pro každý koncový bod a každý koncový bod nejprve exportuje kontrakt, pokud ještě nebyl exportován. V závislosti na vašich potřebách se můžete účastnit obou procesů exportu:

Metoda ExportContract se volá pro všechny IWsdlExportExtension implementace v instanci System.ServiceModel.Description.ContractDescription , která se exportuje. Metoda ExportEndpoint je volána ve všech IWsdlExportExtension implementacích s System.ServiceModel.Description.ServiceEndpoint instancí, která se exportuje.

Další informace naleznete v tématu Postupy: Export vlastní WSDL a ukázkové vlastní wsDL publikace.

Export kontrolních výrazů vlastních zásad

Implementujte element BindingElement vazby IPolicyExportExtension a přidejte ho do vazby pro zápis vlastních kontrolních výrazů zásad o možnostech podpory vazeb a kontraktů do WSDL. Volá IPolicyExportExtension se jednou při exportu implementovaného elementu vazby do vazby a předá PolicyConversionContext metodě ExportPolicy . Metody v PolicyConversionContext instanci můžete použít k přidání kontrolních výrazů zásad připojených k vazbě WSDL ve zprávě, operaci nebo předmětu koncového bodu.

Další informace naleznete v tématu Postupy: Export kontrolních výrazů vlastních zásad.

Viz také