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í WSDL prvky pro uživatelsky definované chování, prvky vazeb a výrazy zásad týkající se možností a požadavků vazeb a smluv.

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.ServiceMetadataBehavior, System.ServiceModel.Description.ServiceDescription se prozkoumá a XSD a WSDL – včetně vyjádření zásad – jsou generovány pro všechny smlouvy 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é vám před exportem deklarací zásad do dat WSDL zpřístupň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 implementaci chování naleznete v tématu Konfigurace a rozšiřování prostředí runtime). IWsdlExportExtension je volán 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á na všech implementacích IWsdlExportExtension 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 vlastních tvrzení zásad

Implementujte IPolicyExportExtension na BindingElement a přidejte prvek vazby do vazby pro zapsání vlastních kontrolních výrazů zásad, týkajících se podpory vazby a schopností kontraktu, do WSDL. Jednou se volá IPolicyExportExtension při exportu implementovaného prvku vazby do vazby, a předá PolicyConversionContext metodě ExportPolicy. Metody v instanci PolicyConversionContext můžete použít k přidání asercí zásad připojených k vazbě WSDL ve zprávě, operaci nebo koncovém bodu.

Další informace naleznete v Postupy: Export politických výrazů vlastních zásad.

Viz také