Pergunta

Estou aprendendo a usar o System.Configuration no .NET e gostaria de saber se existe uma maneira de definir infinitamente as configurações de configuração no meu arquivo web.config.

Digamos que eu tenha dois tipos de objetos - uma página e um grupo de página. Uma página representa uma página real no meu site e um grupo de páginas representa uma coleção de páginas e (possivelmente) outros grupos de página.

Meu arquivo web.config pode conter algo como:

<pagegroup name="outer_group">
    <page name="page1" url="page1.htm" />
    <page name="page2" url="page2.htm" />
    <pagegroup name="middle_group">
        <page name="page3" url="page3.htm" />
        <pagegroup name="inner_group">
            ...and so on...
        </pagegroup>
    </pagegroup>
</pagegroup>

Meu entendimento limitado das classes de configuração me leva a acreditar que não é para isso que foram projetadas - mas espero que esteja errado.

É possível usar o ConfigurationElementCollections and ConfigurationElements (ou qualquer outro ConfigurationClasses aplicáveis) dessa maneira?

Foi útil?

Solução

Você basicamente tem dois tipos diferentes de itens para lidar:

  • uma ConfigurationSectionGroup é um contêiner para outros elementos, principalmente seções de configuração (ou outros grupos de seção de configuração). O próprio grupo da seção não possui propriedades ou atributos de configuração - é apenas um contêiner para seções de configuração

  • a ConfigurationSection é o item que pode conter atributos, elementos, coleções etc. com as configurações reais que você deseja armazenar

Até onde eu sei, você pode aninhar os grupos da seção de configuração o mais profundo possível, mas não pode aninhar nada dentro de uma seção de configuração.

Para uma ótima introdução e muitas informações em segundo plano, consulte a série de três partes de Jon Rista na configuração .NET 2.0 no CodeProject.

Altamente recomendado, bem escrito e extremamente útil!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top