Bienvenidos

Recuerda que tus comentarios son importantes y recuerda agradecer si te fue útil algun artículo publicado aquí.

L1f3 15 a D@nc3 Flo0r

viernes, 20 de mayo de 2011

Cómo cambiar la coneccion en el web.config en ejecución

Para poder cambiar un valor dentro del web.config ya sea en AppSettings o en  ConnectionStrings lo primero que hay que hacer es ejecutar el V.S. con privilegios de administrador para que te permita modificar un archivo físico y de configuración, luego no tendrás problema con esto en IIS si el usuario tiene los permisos correctos.

El código es el siguiente:

En vb.net

Dim myconf As System.Configuration.Configuration = _
System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~")
myconf.AppSettings.Settings.Item("nombredelkey").Value = "string a pasar"
myconf.Save()      

Inventa, a mi me funcionó!!

1 comentario:

Anónimo dijo...

Gracias bro, en base a lo que pusiste, logré crear una cadena de conexión para luego recuperarla o modificarla... Se puede optimizar la función... yo solamente la pongo por si le sirve a alguien, como ejemplo...

Public Function setConnectionString(ByVal codigousuario As String, ByVal myServer As String, _
ByVal myDataBase As String, ByVal myUser As String, ByVal myPassword As String) As Boolean
Try

Dim myconf As System.Configuration.Configuration = _
System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~")
Dim flag As Boolean = False

'revisa que exista la cadena de conexion
For Each csset As ConnectionStringSettings In myconf.ConnectionStrings.ConnectionStrings
If codigousuario = csset.Name Then
flag = True
End If
Next

If flag = True Then
'si existe la cadena de conexion entonces la setea
myconf.ConnectionStrings.ConnectionStrings(codigousuario).ConnectionString = "Data Source=" & myServer & _
";Initial Catalog=" & myDataBase & ";Persist Security Info=True;User ID=" & myUser & _
";Password=" & myPassword & ";Workstation ID="
Else
'si no existe la cadena de conexion entonces la crea
Dim mynewconf As New System.Configuration.ConnectionStringSettings(codigousuario, "Data Source=" & myServer & _
";Initial Catalog=" & myDataBase & ";Persist Security Info=True;User ID=" & myUser & _
";Password=" & myPassword & ";Workstation ID=", "System.Data.SqlClient")
myconf.ConnectionStrings.ConnectionStrings.Add(mynewconf)
End If

myconf.Save()
Return True
Catch ex As Exception

Return False
End Try
End Function