Páginas

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:

  1. 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

    ResponderEliminar