Salvar valores de Appsettings al APP.Config

12/06/2009 - 12:07 por javito | Informe spam
Hola a todos, estoy intentando salvar valores de configuración desde el
programa al archivo app.config, para ello recojo el valor de la clave y lo
introduzco en un Textbox
textBox1.Text = ConfigurationManager.AppSettings["Mensaje1"].ToString();

y esto funciona, pero cuando modifico el contenido del Textbox y quiero
guardar los cambios con:

config.AppSettings["Mensaje1"] = textBox1.Text;

config.Save(ConfigurationSaveMode.Modified);

me devuelve un error diciendo que no puedo guardar los datos y recibo un
mensaje de que no puedo guardar los datos debido a su nivel de protección.

sabeis a que puede deberse

Preguntas similare

Leer las respuestas

#1 Fernando A. Gómez F.
15/06/2009 - 17:58 | Informe spam
javito wrote:
Hola a todos, estoy intentando salvar valores de configuración desde el
programa al archivo app.config, para ello recojo el valor de la clave y lo
introduzco en un Textbox
textBox1.Text = ConfigurationManager.AppSettings["Mensaje1"].ToString();

y esto funciona, pero cuando modifico el contenido del Textbox y quiero
guardar los cambios con:

config.AppSettings["Mensaje1"] = textBox1.Text;

config.Save(ConfigurationSaveMode.Modified);

me devuelve un error diciendo que no puedo guardar los datos y recibo un
mensaje de que no puedo guardar los datos debido a su nivel de protección.

sabeis a que puede deberse




Si utilizas el editor de configuraciones de VS, asegúrate de poner a
"User" el scope.

Este artículo muestra cómo guardar configuraciones *sin* tener que abrir
el archivo con algún parser XML.

http://www.codeproject.com/KB/cs/Sy...ation.aspx

Saludos.

Fernando Gómez
www.fermasmas.com
Respuesta Responder a este mensaje
#2 javito
16/06/2009 - 09:35 | Informe spam
Gracias Fernando ya tengo este artículo per siguiendo las explicaciones del
mismo veo lo siguiente:

1) Cuando utiliza config.Appsettings y cambio los valores y luego hago
config.save() me dice que no tengo derecho a escribir en el directorio, a
pesar de que en el mismo directorio tengo un fichero y lo abro y escribo con
un filestream sin problemas.

2) Cuando lo hace por settings y crea settings set = settings.default; luego
a través de set accedo a los valores string str = set.valor1, pero luego al
guardar set.valor1 = "nuevo valor" y set.save(); realmente guarda los
valores per no en app.config que mantiene los valores iniciales, pero los
guarda y los recupera pero no se donde.

un saludo

www.infoforma.es Hola, Cuerpo del correo Un saludo, tu nombre Javier Jurado
Tel. 91 360 47 77
""Fernando A. Gómez F."" escribió en el
mensaje news:
javito wrote:
Hola a todos, estoy intentando salvar valores de configuración desde el
programa al archivo app.config, para ello recojo el valor de la clave y
lo introduzco en un Textbox
textBox1.Text = ConfigurationManager.AppSettings["Mensaje1"].ToString();

y esto funciona, pero cuando modifico el contenido del Textbox y quiero
guardar los cambios con:

config.AppSettings["Mensaje1"] = textBox1.Text;

config.Save(ConfigurationSaveMode.Modified);

me devuelve un error diciendo que no puedo guardar los datos y recibo un
mensaje de que no puedo guardar los datos debido a su nivel de
protección.

sabeis a que puede deberse




Si utilizas el editor de configuraciones de VS, asegúrate de poner a
"User" el scope.

Este artículo muestra cómo guardar configuraciones *sin* tener que abrir
el archivo con algún parser XML.

http://www.codeproject.com/KB/cs/Sy...ation.aspx

Saludos.

Fernando Gómez
www.fermasmas.com
Respuesta Responder a este mensaje
#3 Adokin
16/06/2009 - 15:34 | Informe spam
On 16 jun, 09:35, "javito" wrote:
Gracias Fernando ya tengo este artículo per siguiendo las explicaciones del
mismo veo lo siguiente:

1) Cuando utiliza config.Appsettings y cambio los valores y luego hago
config.save() me dice que no tengo derecho a escribir en el directorio, a
pesar de que en el mismo directorio tengo un fichero y lo abro y escribo con
un filestream sin problemas.

2) Cuando lo hace por settings y crea settings set = settings.default; luego
a través de set accedo a los valores string str = set.valor1, pero luego al
guardar set.valor1 = "nuevo valor" y set.save(); realmente guarda los
valores per no en app.config que mantiene los valores iniciales, pero los
guarda y los recupera pero no se donde.

un saludo

Tel. 91 360 47 77
""Fernando A. Gómez F."" escribió en el
mensajenews:

> javito wrote:
>> Hola a todos, estoy intentando salvar valores de configuración desde el
>> programa al archivo app.config, para ello recojo el valor de la clave y
>> lo introduzco en un Textbox
>> textBox1.Text = ConfigurationManager.AppSettings["Mensaje1"].ToString();

>> y esto funciona, pero cuando modifico el contenido del Textbox y quiero
>> guardar los cambios con:

>> config.AppSettings["Mensaje1"] = textBox1.Text;

>> config.Save(ConfigurationSaveMode.Modified);

>> me devuelve un error diciendo que no puedo guardar los datos y recibo un
>> mensaje de que no puedo guardar los datos debido a su nivel de
>> protección.

>> sabeis a que puede deberse

> Si utilizas el editor de configuraciones de VS, asegúrate de poner a
> "User" el scope.

> Este artículo muestra cómo guardar configuraciones *sin* tener que abrir
> el archivo con algún parser XML.

>http://www.codeproject.com/KB/cs/Sy...ation.aspx

> Saludos.

> Fernando Gómez
>www.fermasmas.com



Hola.

Los valores de configuración de una aplicación se pueden guardar a
nivel de usuario o a nivel de aplicación (Scope).
A nivel de usuario, mediante el método Set() de la clase Settings, se
guardan para el usuario que está ejecutando la aplicación en ese
momento. De este modo, se pueden leer y guardar valores en tiempo de
ejecución. Desconozco dónde se guardan en este caso esos valores, pero
supongo que será en algún directorio perteneciente al usuario que está
ejecutando la aplicación en ese momento. Esa configuración se aplica
únicamente al usuario que guardó los valores.
A nivel de aplicación, los valores de configuración son compartidos
por todos los usuarios pero no pueden ser modificados en tiempo de
ejecución directamente. Estos valores únicamente pueden ser leidos.
Esta configuración se guarda en el directorio app.config en formato
XML y para modificarla en tiempo de ejecución es necesario hacerlo a
través de XMLDocument.

Un saludo.
Respuesta Responder a este mensaje
#4 Fernando A. Gómez F.
16/06/2009 - 20:15 | Informe spam
Adokin wrote:
On 16 jun, 09:35, "javito" wrote:
Gracias Fernando ya tengo este artículo per siguiendo las explicaciones del
mismo veo lo siguiente:

1) Cuando utiliza config.Appsettings y cambio los valores y luego hago
config.save() me dice que no tengo derecho a escribir en el directorio, a
pesar de que en el mismo directorio tengo un fichero y lo abro y escribo con
un filestream sin problemas.

2) Cuando lo hace por settings y crea settings set = settings.default; luego
a través de set accedo a los valores string str = set.valor1, pero luego al
guardar set.valor1 = "nuevo valor" y set.save(); realmente guarda los
valores per no en app.config que mantiene los valores iniciales, pero los
guarda y los recupera pero no se donde.

un saludo

Tel. 91 360 47 77
""Fernando A. Gómez F."" escribió en el
mensajenews:

javito wrote:
Hola a todos, estoy intentando salvar valores de configuración desde el
programa al archivo app.config, para ello recojo el valor de la clave y
lo introduzco en un Textbox
textBox1.Text = ConfigurationManager.AppSettings["Mensaje1"].ToString();
y esto funciona, pero cuando modifico el contenido del Textbox y quiero
guardar los cambios con:
config.AppSettings["Mensaje1"] = textBox1.Text;
config.Save(ConfigurationSaveMode.Modified);
me devuelve un error diciendo que no puedo guardar los datos y recibo un
mensaje de que no puedo guardar los datos debido a su nivel de
protección.
sabeis a que puede deberse


Si utilizas el editor de configuraciones de VS, asegúrate de poner a
"User" el scope.
Este artículo muestra cómo guardar configuraciones *sin* tener que abrir
el archivo con algún parser XML.
http://www.codeproject.com/KB/cs/Sy...ation.aspx
Saludos.
Fernando Gómez
www.fermasmas.com





Hola.

Los valores de configuración de una aplicación se pueden guardar a
nivel de usuario o a nivel de aplicación (Scope).
A nivel de usuario, mediante el método Set() de la clase Settings, se
guardan para el usuario que está ejecutando la aplicación en ese
momento. De este modo, se pueden leer y guardar valores en tiempo de
ejecución. Desconozco dónde se guardan en este caso esos valores, pero
supongo que será en algún directorio perteneciente al usuario que está
ejecutando la aplicación en ese momento. Esa configuración se aplica
únicamente al usuario que guardó los valores.



En %LOCALAPPDATA%, es decir:

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

A nivel de aplicación, los valores de configuración son compartidos
por todos los usuarios pero no pueden ser modificados en tiempo de
ejecución directamente. Estos valores únicamente pueden ser leidos.
Esta configuración se guarda en el directorio app.config en formato
XML y para modificarla en tiempo de ejecución es necesario hacerlo a
través de XMLDocument.

Un saludo.



Saludos.

Fernando Gómez
www.fermasmas.com
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida