ConfigurationCodeGenerator
O ConfigurationCodeGenerator é uma ferramenta que você pode usar para expor suas implementações de canal personalizado ao sistema de configuração. Isso permite que os usuários do canal personalizado configurem seu canal usando um arquivo .config da mesma forma que configurariam uma associação fornecida pelo sistema, como NetTcpBinding
ou uma associação personalizada usando o TcpTransportBindingElement
.
Ao escrever um canal personalizado e expô-lo ao modelo de programação usando um novo BindingElement
ou Binding
, você deve criar um conjunto de classes para tornar o BindingElement
ou Binding
configurável usando um arquivo .config. Você pode usar a ferramenta ConfigurationCodeGenerator para gerar essas classes e aprimorar a experiência do cliente.
Para criar a ferramenta
Para compilar a solução, siga as instruções contidas em Como compilar as amostras do Windows Communication Foundation.
A criação da solução gera um arquivo: ConfigurationCodeGenerator.exe. O arquivo SampleRun.cmd tem uma linha de comando de amostra que mostra como usar essa ferramenta para gerar as classes para a amostra Transporte: UDP.
Para executar a ferramenta
No prompt de comando, digite o seguinte se você tiver um tipo personalizado
BindingElement
e um tipo personalizadoBinding
:ConfigurationCodeGenerator.exe /be:YourCustomBindingElementTypeName /sb:YourCustomStdBindingTypeName /dll:TheAssemblyWhereTheseTypesAreDefined
Ou digite o seguinte se você tiver apenas um tipo personalizado
BindingElement
:ConfigurationCodeGenerator.exe /be:YourCustomBindingElementTypeName /dll: TheAssemblyWhereThisTypeIsDefined
Ou digite o seguinte se você tiver apenas um tipo personalizado
Binding
:ConfigurationCodeGenerator.exe /sb:YourCustomStdBindingTypeName /dll:TheAssemblyWhereThisTypeIsDefined
O comando gera três arquivos .cs para a
BindingElement
(se você especificou a opção /be:), cinco arquivos .cs para o padrãoBinding
(se você especificou a opção /sb:) e um arquivo .xml.Se você usou a opção /be, um dos arquivos .cs implementa o
BindingElementExtensionSection
para seu elemento de associação. Esse código expõe oBindingElement
para o sistema de configuração para que outras associações personalizadas possam usar o elemento de associação. Os outros arquivos têm classes que representam padrões e constantes. Os arquivos têm//TODO
comentários para lembrá-lo de atualizar os valores padrão.Se você especificou a opção /sb, dois dos arquivos .cs implementam um
StandardBindingElement
e umStandardBindingCollectionElement
, respectivamente, o que expõe sua associação padrão ao sistema de configuração. Os outros arquivos têm classes que representam padrões e constantes. Os arquivos têm//TODO
comentários para lembrá-lo de atualizar os valores padrão.Se você especificou a opção /sb:, o CodeToAddTo<YourStdBinding.cs> tem código que você deve adicionar manualmente à classe que implementa sua associação padrão.
O arquivo SampleConfig.xml contém o código de configuração que você deve adicionar ao arquivo de configuração que registra os manipuladores definidos na etapa anterior 1 ou 2.