2011-12-20 14 views
5

Esta es una especie de pregunta "novato", pero me preguntaba cuál es la mejor manera de que las aplicaciones .NET almacenen datos configurados por el usuario entre ejecuciones.Tener las aplicaciones .NET "recordar" las preferencias, etc.?

Por ejemplo, si quisiera crear una lista de preferencias para mi aplicación, ¿cuál sería la mejor manera de almacenar esas preferencias, para que tengan efecto la próxima vez que ejecute la aplicación? ¿Qué tipo de archivo debo guardar como? ¿Dónde debería almacenarlo? Quiero que la aplicación se encargue de todo eso, para que el usuario no tenga que preocuparse por eso.

Respuesta

6

¿Está escribiendo una aplicación web o una aplicación de Windows? La respuesta puede variar en función del medio ambiente, pero en general usted tiene varias opciones para las preferencias de almacenamiento:

  • tabla de base de datos (SQL Server, Oracle, MySQL o SQL Server Express son buenas opciones)
  • XML o con formato archivo de texto
  • archivo de configuración de la aplicación (app.config o web.config)
  • registro de Windows

una vez más, depende del entorno, pero estas son algunas opciones.

+0

De acuerdo 100%, y probablemente en ese orden también. Una base de datos sería ideal, pero no agregaría una solo para guardar la configuración. Un archivo XML o INI sería mi segunda opción, seguido de App/Web.config, y evitaría el registro. Solo usaría la configuración de la aplicación si los valores no cambian con demasiada frecuencia. La configuración de .NET para las aplicaciones de Windows a las que hace referencia @Anthony Shaw podría ser una opción, pero nunca las he usado ... –

+1

Para winforms sería user.config. app.config es para configuraciones con ámbito de aplicación y es de solo lectura. –

1

Los proyectos VS tienen preferencias basadas en perfiles para la aplicación en las propiedades del proyecto, puede hacer uso de eso.

1

Una forma común de hacerlo es a través del Windows registry. Las aplicaciones generalmente crean sus propias carpetas en el registro y almacenan allí datos como el lenguaje, el diseño, etc. que se recordarán en las ejecuciones posteriores.

7

Supongo que se refiere a una aplicación de Windows?

Hay una clase de Configuraciones integrada en la aplicación que puede usar. La única cosa que usted querrá tener cuidado con las actualizaciones de aplicaciones está en, pero se puede comprobar si los ajustes se deben actualizar y ejecutar el método apropiado

Aquí está un artículo que camina a través de la creación de estos, http://msdn.microsoft.com/en-us/library/25zf0ze8.aspx

Luego, cuando se actualiza la aplicación (digamos con OneClick despliegue) es necesario llamar a este bloque de código, o bien la configuración se revertirá a los valores predeterminados

if (Properties.Settings.Default.CallUpgrade) 
{ 
    Properties.Settings.Default.Upgrade(); 
    Properties.Settings.Default.Reload(); // to activate the settings 
    Properties.Settings.Default.CallUpgrade = false; 
    Properties.Settings.Default.Save();// to save the new value of CallUpgrade    
} 
+1

+1 Para una aplicación típica de winforms, esta es la solución más sensata. ¿Por qué reinventar la rueda? Propiedades. La configuración funciona. –

1

puede usar la configuración del proyecto de Visual Studio con Dominio del usuario settuped.

Here es un pequeño ejemplo de cómo hacerlo.

EDITAR

Esto es válido para la aplicación de escritorio.

Cuestiones relacionadas