Usando um conexão específico para o site com uma DLL
-
03-07-2019 - |
Pergunta
A configuração:
Eu tenho uma DLL que usa um ConnectionString para conectar -se a um banco de dados SQL. Quando adicionar a DLL ao meu site, tenho que adicionar o ConnectionString ao meu web.config para que minha DLL funcione corretamente (isso é por design). Depois de adicioná -lo ao web.config, tudo funciona bem (como esperado).
O problema:
O problema começa quando eu quero mover o ConnectionSting para as configurações de aplicativos ASP.NET do meu site encontradas no IIS> Site padrão> Propriedades> ASP.NET TAB> EDIT GLOBAL ENFIGURAÇÃO ...> Conexão
Se eu o remover do meu web.config e coloque -o lá, minha DLL não funcionará. Se eu usar o ConnectionString em qualquer outro lugar do meu site (e não de uma DLL), posso acessar o banco de dados bem através desse método, mas por algum motivo minha DLL só poderá acessá -lo se estiver no web.config.
A questão:
Como posso obter minha DLL para usar o ConnectionsTring listado na configuração do ASP.NET Gerenciador de string de conexão em vez do web.config?
Solução
Você deve procurar a seção da configuração geral do ASP.NET, que pode ser recuperada através da classe WebConfigurationManager, em vez de procurar uma string de conexão via ConfigurationManager.Connectionstrings.
// Get the connectionStrings section.
ConnectionStringsSection connectionStringsSection =
WebConfigurationManager.GetSection("connectionStrings")
as ConnectionStringsSection;
// Get the connectionStrings key,value pairs collection.
ConnectionStringSettingsCollection connectionStrings =
connectionStringsSection.ConnectionStrings;
// Get the collection enumerator.
IEnumerator connectionStringsEnum =
connectionStrings.GetEnumerator();