ConfigurationCodeGenerator
ConfigurationCodeGenerator es una herramienta que puede utilizar para exponer sus implementaciones de canales personalizadas en el sistema de configuración. Esto permite a los usuarios de su canal personalizado configurar el canal utilizando un archivo .config tal y como lo haría si configuraran un enlace proporcionado por el sistema como NetTcpBinding
o un enlace personalizado usando TcpTransportBindingElement
.
Al escribir un canal personalizado y exponerlo en el modelo de programación usando un nuevo BindingElement
o Binding
, debe crear un conjunto de clases para convertir en configurable BindingElement
o Binding
utilizando un archivo .config. Puede utilizar la herramienta ConfigurationCodeGenerator para generar estas clases y mejorar la experiencia de su cliente.
Para compilar la herramienta
Para compilar la solución, siga las instrucciones de Compilación de los ejemplos de Windows Communication Foundation.
Al compilar la solución se genera un archivo: ConfigurationCodeGenerator.exe. SampleRun.cmd del archivo tiene una línea de comandos de ejemplo que muestra cómo utilizar esta herramienta para generar las clases para el ejemplo Transporte: UDP.
Para ejecutar la herramienta
En el símbolo del sistema escriba lo siguiente si tiene un tipo
BindingElement
personalizado y un tipoBinding
personalizado:ConfigurationCodeGenerator.exe /be:YourCustomBindingElementTypeName /sb:YourCustomStdBindingTypeName /dll:TheAssemblyWhereTheseTypesAreDefined
O escriba lo siguiente si tiene sólo un tipo
BindingElement
personalizado:ConfigurationCodeGenerator.exe /be:YourCustomBindingElementTypeName /dll: TheAssemblyWhereThisTypeIsDefined
O escriba lo siguiente si tiene sólo un tipo
Binding
personalizado:ConfigurationCodeGenerator.exe /sb:YourCustomStdBindingTypeName /dll:TheAssemblyWhereThisTypeIsDefined
El comando genera tres archivos .cs para
BindingElement
(si especificó la opción /be), cinco archivos .cs para elBinding
estándar (si especificó la opción /sb:) y un archivo .xml.Si utilizó la opción /be, uno de los archivos .cs implementa
BindingElementExtensionSection
para su elemento de enlace. Este código exponeBindingElement
en el sistema de configuración, para que otros enlaces personalizados puedan utilizar su elemento de enlace. Los otros archivos tienen clases que representan valores predeterminados y constantes. Los archivos tienen los comentarios//TODO
para recordarle actualizar los valores predeterminados.Si especificó la opción /sb, dos de los archivos .cs implementan respectivamente
StandardBindingElement
yStandardBindingCollectionElement
, que exponen el enlace estándar en el sistema de configuración. Los otros archivos tienen clases que representan valores predeterminados y constantes. Los archivos tienen los comentarios//TODO
para recordarle actualizar los valores predeterminados.Si especificó la opción /sb:, CodeToAddTo<YourStdBinding>.cs tiene código que debe agregar manualmente a la clase que implementa su enlace estándar.
El archivo SampleConfig.xml contiene el código de configuración que debe agregar al archivo de configuración que registra los controladores definidos en el paso 1 o 2 anterior.