Compartilhar via


GeradorDeCódigoDeConfiguração

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, assim como eles configuram 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

  1. Para compilar a solução, siga as instruções contidas em Como compilar as amostras 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 Transporte: 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 a opçã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 implementa o elemento de associação BindingElementExtensionSection. Esse código expõe seu BindingElement ao sistema de configuração, para que outras associações personalizadas possam usar o seu elemento de vinculaçã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 um StandardBindingElement e um StandardBindingCollectionElement , 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: a opçã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.