Compartilhar via


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

  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 amostra que mostra como usar essa ferramenta para gerar as classes para a amostra 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 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 BindingElementExtensionSection para seu elemento de associação. Esse código expõe o BindingElement 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.

    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:, 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.