Partager via


ConfigurationCodeGenerator

ConfigurationCodeGenerator est un outil que vous pouvez utiliser pour exposer vos implémentations de canal personnalisées au système de configuration. Cela permet aux utilisateurs de votre canal personnalisé de configurer votre canal à l’aide d’un fichier .config, tout comme ils le feraient pour configurer une liaison fournie par le système, telle qu’une NetTcpBinding liaison personnalisée à l’aide du TcpTransportBindingElement.

Lorsque vous écrivez un canal personnalisé et que vous l’exposez au modèle de programmation à l’aide d’un nouveau BindingElement ou Binding, vous devez créer un ensemble de classes pour rendre le BindingElement ou Binding configurable à l’aide d’un fichier .config. Vous pouvez utiliser l’outil ConfigurationCodeGenerator pour générer ces classes et améliorer l’expérience de votre client.

Pour générer l'outil

  1. Pour générer la solution, suivez les instructions indiquées dans la rubrique Génération des exemples Windows Communication Foundation.

  2. La création de la solution génère un fichier : ConfigurationCodeGenerator.exe. Le fichier SampleRun.cmd a un exemple de ligne de commande qui montre comment utiliser cet outil pour générer les classes de l’exemple Transport : UDP .

Pour exécuter l'outil

  1. À l’invite de commandes, tapez ce qui suit si vous disposez à la fois d’un type personnalisé BindingElement et d’un type personnalisé Binding :

    ConfigurationCodeGenerator.exe /be:YourCustomBindingElementTypeName /sb:YourCustomStdBindingTypeName /dll:TheAssemblyWhereTheseTypesAreDefined
    

    Ou tapez ce qui suit si vous n’avez qu’un type personnalisé BindingElement :

    ConfigurationCodeGenerator.exe /be:YourCustomBindingElementTypeName /dll: TheAssemblyWhereThisTypeIsDefined
    

    Ou tapez ce qui suit si vous n’avez qu’un type personnalisé Binding :

    ConfigurationCodeGenerator.exe /sb:YourCustomStdBindingTypeName /dll:TheAssemblyWhereThisTypeIsDefined
    

    La commande génère trois fichiers .cs pour l’option BindingElement (si vous avez spécifié l’option /be), cinq fichiers .cs pour la norme Binding (si vous avez spécifié l’option /sb :) et un fichier .xml.

    1. Si vous avez utilisé l’option /be, l’un des fichiers .cs implémente l’élément BindingElementExtensionSection de liaison. Ce code expose votre BindingElement au système de configuration, afin que d'autres liaisons personnalisées puissent utiliser votre élément de liaison. Les autres fichiers ont des classes qui représentent les valeurs par défaut et les constantes. Les fichiers ont //TODO des commentaires pour vous rappeler de mettre à jour les valeurs par défaut.

    2. Si vous avez spécifié l’option /sb, deux des fichiers .cs implémentent un StandardBindingElement et un StandardBindingCollectionElement , respectivement, qui expose votre liaison standard au système de configuration. Les autres fichiers ont des classes qui représentent les valeurs par défaut et les constantes. Les fichiers ont //TODO des commentaires pour vous rappeler de mettre à jour les valeurs par défaut.

      Si vous avez spécifié l’option /sb : l’option CodeToAddTo<YourStdBinding>.cs a du code que vous devez ajouter manuellement à la classe qui implémente votre liaison standard.

    Le fichier SampleConfig.xml contient le code de configuration que vous devez ajouter au fichier de configuration qui inscrit les gestionnaires définis à l’étape 1 ou 2 précédente.