Skip to content

Biblioteca para auxiliar nas configurações segregadas por ambiente, podendo utilizar arquivo .config adicional.

Notifications You must be signed in to change notification settings

heliomarpm/Qualita.Util.Environments

Repository files navigation

Qualita.Util.Environments

Biblioteca para auxiliar nas configurações segregadas por ambiente, podendo utilizar arquivo .config adicional.

Como utilizar

Passo 1: No arquivo .config da aplicação, informe as informações da biblioteca para carrega-la e ter acesso a config personalizada.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="environmentSettings" type="Qualita.Util.Environments.EnvironmentSettingsSection, Qualita.Util.Environments"/>
  </configSections>
  ...
<configuration>

Passo 2: Agora crie as chaves/valores necessarias pra a section environmentSettings, declarado no passo 1.

A propriedade obrigatória useEnvironKey irá definir qual a chave deverá ser utilizada, ela pode ser alterada em tempo de execução. A estrutura de preenchimento é: <environmentSettings useEnvironKey='?'><environ key='?'><add key='?' value='?'/>...

Use a propriedade file do elemento environ para definir um arquivo externo. Observação: O elemento environ dever ser declarodo novamente no arquivo externo e com o mesmo valor de key, a propriedade name é opcional. Todos os arquivos externos devem existir mesmo se não for ativado pela propriedade activeEnviron do elemento principal.

Exemplo App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="environmentSettings" type="Qualita.Util.Environments.EnvironmentSettingsSection, Qualita.Util.Environments"/>
  </configSections>
 
  <environmentSettings useEnvironKey="loc">

    <environ key="loc" name="Local">
      <add key="URL" value="http://localhost:8080"/>
      <add key="DIR_EXPORT" value="D:\TEMP"/>
    </environ>

    <environ key="1" file="dev.config" />
    <environ key="2" file="homolog.config" />
    <environ key="3" file="prod.config" />

  </environmentSettings>

<configuration>

Exemplo arquivo externo dev.config:

<?xml version="1.0" encoding="utf-8" ?>
<environ key="1" name="Desenvolvimento">
    <add key="URL" value="http://app.develop"/>
    <add key="DIR_EXPORT" value="D:\APP\EXPORT"/>
</environ>