ConfigurationCodeGenerator

O ConfigurationCodeGenerator é uma ferramenta que você pode usar para expor suas implementações de canal personalizado para o sistema de configuração. Isso permite que os usuários do seu 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.

Quando você escreve um canal personalizado e o expõe 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 melhorar a experiência do cliente.

Para criar a ferramenta

  1. Para criar a solução, siga as instruções em Criando os exemplos do Windows Communication Foundation.

  2. A criação da solução gera um arquivo: ConfigurationCodeGenerator.exe. O arquivo SampleRun.cmd tem uma linha de comando de exemplo que mostra como usar essa ferramenta para gerar as classes para o exemplo Transport: UDP .

Para executar a ferramenta

  1. No prompt de comando, digite o seguinte se você tiver um tipo personalizado BindingElement e um tipo personalizado Binding :

    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 o BindingElement (se você especificou a opção /be:), cinco arquivos .cs para o padrão Binding (se você especificou a opção /sb:) e um arquivo .xml.

    1. Se você usou a opção /be, um dos arquivos .cs implementará o BindingElementExtensionSection para seu elemento de ligação. Esse código expõe você BindingElement ao sistema de configuração, para que outras ligações personalizadas possam usar seu elemento de ligaçã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.

    2. Se você especificou a opção /sb, dois dos arquivos .cs implementam a StandardBindingElement e a StandardBindingCollectionElement respectivamente, o que expõe sua ligaçã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 um 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 1 ou 2 anterior.