none
AppConfig modificar valores desde una .Net Compact Framework RRS feed

  • Pregunta

  • Tengo una App hecha Visual basic - Smart Device , logre leer un archivo AppSetting.exe.config pero quiero hacerle cambio desde un form de la misma aplicacion.  Estos los codigo y la clase que use para leer.

     

    Me puede ayudar para poder modificar los value del AppSettings

    Codigo AppConfig

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <appSettings>
        <add key="ConnectionString" value="Persist Security Info = False; Data Source = '\My Documents\cdr.sdf'; Password = ''; Max Database Size = 256; Max Buffer Size = 1024"/>
        <add key="ipaddress" value="10.0.0.102"/>
        <add key="db_datos" value="EXACTUS"/>
        <add key="usuario_db" value="sa"/>
        <add key="compania" value="CATELLI"/>
      </appSettings>
    </configuration>

     

    Clase que uso:

     Public Class Configuration
            Private xmldoc As XmlDocument

            Private _applicationname As String = String.Empty
            Private _appconfigfile As String = String.Empty

            Private _appSettings As New Dictionary(Of String, String)()

            Public ReadOnly Property AppSettings() As Dictionary(Of String, String)
                Get
                    Return _appSettings
                End Get
            End Property

            Public Sub New()
                Dim startup As String = System.Reflection.Assembly.GetCallingAssembly().GetName().CodeBase
                Dim fi As New FileInfo(startup)

                Me._applicationname = System.IO.Path.GetFileNameWithoutExtension(startup)
                Me._appconfigfile = System.IO.Path.Combine(fi.DirectoryName.ToString(), _applicationname & ".exe.config")

                Read()
            End Sub

            Private Sub Read()
                xmldoc = New XmlDocument()
                xmldoc.Load(Me._appconfigfile)

                Dim nodeCol As XmlNodeList = xmldoc.SelectNodes("//add")
                If nodeCol IsNot Nothing Then
                    For Each thisNode As XmlNode In nodeCol
                        Dim key As String = thisNode.Attributes("key").Value.ToString()
                        Dim value As String = thisNode.Attributes("value").Value.ToString()

                        Me._appSettings.Add(key, value)

                        System.Diagnostics.Debug.WriteLine(key & ", " & value)
                    Next
                End If
            End Sub
        End Class


    ...CDR Support.. imponiendo la necesidad de los servicios
    viernes, 13 de enero de 2012 18:56

Todas las respuestas

  • Hola

    Estas en lo correcto de tratarlo como un archivo en XML, lo que debes hacer para guardar los cambios es leerlo y escribir un nuevo archivo con los cambios, luego eliminas el archivo original y renombras el nuevo archivo, asi lo hago yo.

     

    Saludos,

     

     


    Roberto Alvarado Taborda www.bogotadotnet.org Core Group BogotaDotNET Mobile Developer .NET Bogota - Colombia
    viernes, 27 de enero de 2012 19:41