Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal,
Gostaria de saber como faço para alterar uma connectionstring dentro do web.config através de uma class Library, eu até já tenho o script, porém ocorre um erro de segurança:
System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
E está tudo referenciado, tenho um System.Configuration, e tenho o .dll atrelado no web site. Também detectei que a alteração funciona se não uso class Library.
Como desabilito a segurança?
Obrigado
É exatamente isso que eu faço, porém na hora de resgatar dentro do web site:
clsConn conn = new clsConn();
Response.Write(conn.mtdConn(0));
Ocorre aquele erro de segurança, faça esse teste...
Obrigado pela ajuda
Cara...Tenta assim..acho mais fácil..
//Para setar o valor
ConfigurationManager.AppSettings.Set("ConnString", "novovalor");
//Para buscar o valor
ConfigurationManager.AppSettings.Get("ConnString");
se tah usando 2.0..neah
E não é que funcionou!!! rs
Caramba acho que a segurança é devido a ser a tag de connectionstring, ele deve barar por isso, mas se coloco com appsettings passa, que coisa...rs
Mas o mais interessante é ele sobrepoem o value, mas se abro o web.config o valor original continua o mesmo, tem como eu tirar esse "cache"?
Cara...realmente não salvou no arquivo neah..
mas no meu aqui..eu dei conta de fazer salvar...mas foi do primeiro jeito...
Configuration webConfig = WebConfigurationManager.OpenWebConfiguration("~");
ConnectionStringsSection dbConnString = webConfig.ConnectionStrings;
dbConnString.ConnectionStrings["ConnString"].ConnectionString = "Teste";
webConfig.Save();
Mas voce pode fazer da seguinte forma...removendo e adicionando...nao custa tentar enah...
Configuration webConfig = WebConfigurationManager.OpenWebConfiguration("~");
ConnectionStringsSection dbConnString = webConfig.ConnectionStrings;
////Alterando
//dbConnString.ConnectionStrings["ConnString"].ConnectionString = "Teste";
//Removendo
dbConnString.ConnectionStrings.Remove("ConnString");
////Adicionando
dbConnString.ConnectionStrings.Add(new ConnectionStringSettings("ConnString", "ConnString"));
webConfig.Save();
Boa sorte ai..espero a resposta..
Xiiii, o problema agora é o fato de que em componentes não consigo usar:
ConnectionString="<%$ appSettings:admix %>"
Tenho que conseguir fazer isso no connectionString mesmo...
Pois não quero ficar instanciando classe no .cs só para passar a conection, agora o que será esse problema de segurança que relatei no 1º post?
Obrigado
Este realmente eu não sei...vou deixa para alguns de nosso colegas com mais experiencia nessa parte te ajuda...
Mas valeu...tivemos aprendizado.
Flw
Amigao...
Basicamente você apenas precisa importar o namespace System.Web.Configuration,
abrir o arquivo Web.Config onde estão as connectionstrings e
alterá-las ou adicionar uma nova connectionstring.
Um exemplo é algo como:
//Alterando
dbConnString.ConnectionStrings["DBOrders"].ConnectionString = "TUA NOVA CONNSTRING AQUI";
//Adicionando
dbConnString.ConnectionStrings.Add(
Eu testei aqui e deu certo...
Nao sei qual o problema de segurança que pode estar acontecendo...
mas olha ai e ve se tah parecido com isso ai...
Abraços..