Existe uma maneira de dizer ao .NET onde procurar o arquivo de configurações do usuário?

StackOverflow https://stackoverflow.com/questions/2459008

Pergunta

Basicamente, várias instâncias de nosso aplicativo serão iniciadas, mas elas precisam ter configurações separadas do usuário. Atualmente, usamos "Configurações do usuário" para isso e funciona bem para uma única instância (por usuário do Windows), mas gostaríamos de poder iniciar várias instâncias com um caminho de configurações transmitido pela linha de comando. Existe uma maneira de fazer isso com as configurações .NET embutidas ou teremos que rolar as nossas?

Foi útil?

Solução

Eu recomendo o desenvolvimento de uma classe que lide com as configurações do aplicativo e aceite um nome de arquivo. Eu tive que fazer isso para as DLLs que precisavam de configurações de aplicativos e também ajuda se você deseja armazenar suas configurações em um local não local (por exemplo, um único local na rede).

Isso lhe dará muito mais flexibilidade - definitivamente vale a pena o investimento!

Outras dicas

A classe LocalFileSettingSProvider, a que gerencia o arquivo com as configurações do usuário, é bastante impossível de ajustar. Quem escreveu que deve ter sido paralisado por preocupações de segurança. Talvez não seja injustificado.

Se você deseja manter o System.Configuration, precisará implementar seu próprio provedor. Provavelmente a melhor maneira de fazer isso é começar a partir do Amostra de RegistrySettingSProvider. Não ajudará você a acertar o manuseio de arquivos, mas pelo menos você terá algo para construir. Um par de espreitadelas com refletor pode ajudar.

.NET possui uma API de provedor de configuração. App.config é apenas uma implementação predefinida dessa API. Você deve usar a API para estender a API embutida ou criar a sua.

Eu sugeriria armazenar as informações de configuração em DB e ler com base no usuário. Em qualquer caso, você deve manter as informações específicas do usuário diferentes cópias. Onload do aplicativo Leia do db e cache todas as configurações.

A API de personalização do usuário e perfil para recuperar as informações. É muito fácil atualizar as informações no DB, em vez de lidar com arquivos localizados nos sistemas de usuários.

Há um interessante Artigo do CodeProject que possui um provedor de configurações personalizado. Você só precisa de um pequeno ajuste do seu código e, em seguida, ele permite salvar e carregar suas configurações em um local de arquivo que você fornece.

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