Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans Windows Communication Foundation (WCF), l’exportation de métadonnées consiste à décrire les points de terminaison de service et à les projeter dans une représentation parallèle et standardisée que les clients peuvent utiliser pour comprendre comment utiliser le service. Les métadonnées personnalisées se composent d’éléments XML que les exportateurs de métadonnées fournis par le système ne peuvent pas exporter. En règle générale, cela inclut des éléments WSDL personnalisés pour les comportements définis par l’utilisateur et les éléments de liaison et les assertions de stratégie sur les fonctionnalités et les exigences des liaisons et des contrats.
Cette section décrit l’exportation d’assertions WSDL ou de stratégie personnalisées et ne se concentre pas sur le processus d’exportation lui-même. Pour plus d’informations sur l’utilisation des types qui exportent et importent des métadonnées, que les métadonnées soient personnalisées ou construites par le système, consultez Exportation et importation de métadonnées.
Aperçu
Lorsque les métadonnées sont publiées à l’aide du System.ServiceModel.Description.ServiceMetadataBehaviorfichier , les System.ServiceModel.Description.ServiceDescription données sont examinées et XSD et WSDL, y compris les assertions de stratégie, sont générées pour tous les contrats et liaisons que WCF peut prendre en charge à l’aide d’attributs et de liaisons fournis par le système. Toutefois, les attributs de comportement personnalisés ou les éléments de liaison nécessitent une prise en charge avant de pouvoir être exportés correctement.
Cette section décrit les éléments suivants :
Comment implémenter et utiliser l’interface System.ServiceModel.Description.IWsdlExportExtension , qui expose les données de génération WSDL à vous avant de publier le WSDL.
Comment implémenter et utiliser l’interface System.ServiceModel.Description.IPolicyExportExtension , qui expose les données de stratégie à vous avant d’exporter les assertions de stratégie dans les données WSDL.
Pour plus d’informations sur l’importation d’assertions WSDL et de stratégie personnalisées, consultez Importation de métadonnées personnalisées pour une extension WCF.
Exportation d’éléments WSDL personnalisés
Implémentez le IWsdlExportExtension comportement d’une opération, un comportement de contrat, un comportement de point de terminaison ou un élément de liaison (IOperationBehavior, IContractBehaviorou IEndpointBehaviorSystem.ServiceModel.Channels.BindingElement respectivement) et insérez les comportements ou les éléments de liaison dans la description du service que vous essayez d’exporter. (Pour plus d’informations sur l’insertion de comportements, consultez Configuration et extension du runtime avec des comportements). Le IWsdlExportExtension point de terminaison est appelé pour chaque point de terminaison et chaque point de terminaison exporte d’abord le contrat s’il n’a pas déjà été exporté. Vous pouvez participer à l’un ou l’autre processus d’exportation, en fonction de vos besoins :
Utilisez la WsdlContractConversionContext méthode pour modifier les métadonnées ExportContract exportées.
Utilisez la WsdlEndpointConversionContext méthode pour modifier les métadonnées exportées pour le point de ExportEndpoint terminaison.
La ExportContract méthode est appelée sur toutes les IWsdlExportExtension implémentations de l’instance System.ServiceModel.Description.ContractDescription en cours d’exportation. La ExportEndpoint méthode est appelée sur toutes les IWsdlExportExtension implémentations avec l’instance System.ServiceModel.Description.ServiceEndpoint en cours d’exportation.
Pour plus d’informations, consultez Guide pratique pour exporter des WSDL personnalisés et l’exemple de publication WSDL personnalisée.
Exportation d’assertions de stratégie personnalisées
Implémentez l’élément IPolicyExportExtension de liaison et BindingElement ajoutez l’élément de liaison à la liaison pour écrire des assertions de stratégie personnalisées sur la prise en charge de liaison et les fonctionnalités de contrat dans WSDL. Il IPolicyExportExtension est appelé une seule fois lors de l’exportation de l’élément de liaison implémenté dans une liaison et passe la PolicyConversionContextExportPolicy méthode. Vous pouvez utiliser les méthodes de l’instance PolicyConversionContext pour ajouter aux assertions de stratégie attachées à la liaison WSDL au niveau du message, de l’opération ou des sujets de point de terminaison.
Pour plus d’informations, consultez Guide pratique pour exporter des assertions de stratégie personnalisées.