Los ajustes (Ambos de un conjunto de ajustes y Configuration.AppSettings
), se almacenan en el archivo .config [junto con muchas otras cosas].
La diferencia es que las cosas .settings [que se agregaron en .NET 2.0/VS2005] capas una clase fuertemente tipada en la parte superior de un conjunto de configuraciones que pertenecen juntas mientras que Configuration.AppSettings
solo le permite recuperar cadenas, lo que obliga a hacer cualquier conversión, y no tiene la noción de los valores predeterminados. (La clase de configuración realmente se ha desviado en un ensamblaje lateral para reflejar esto; necesita agregar una referencia a System.Configuration explícitamente si lo desea).
Agregar un .settings a su proyecto resultará en que se agregue una aplicación.config para alojar la configuración si usted ya no tiene una. La clase que lee la configuración se genera automáticamente cada vez que cambia la lista de configuraciones para su componente/aplicación.
Otras características de .Settings es la capacidad de designar algunas configuraciones como específicas del usuario (y también para guardar las configuraciones específicas del usuario con una sola llamada).
La mejor razón de todo para usar. La configuración general es que obtienes la capacidad de identificar claramente quién usa qué configuración en una base de código siguiendo los usos de las propiedades (y cada conjunto es un bloque separado en el archivo XML) . Configuration.appSettings
es más global en su naturaleza; es solo una bolsa de propiedades y usted no sabe qué DLL, subsistema o clase depende de una entrada de configuración en particular. Ver this blog post from Steven Smith para mucho más.
Por último, si aún no ha leído lo suficiente sobre la gestión de configuraciones, no va a vencer this Rick Strahl post on the subject para la integridad o grandes cantidades de ideas y ángulos.
ASIDE: También está el material ASP.NET vNext Configuration, outlined in this article que es bastante flexible y ofrece un ángulo diferente en la gestión de configuraciones de configuración.
Gracias por la respuesta. Simplemente confundido acerca de un punto: hay 2 tipos de configuraciones.Una es la configuración de la aplicación y otra es la configuración del usuario. Si ambos tipos de configuraciones se almacenan en el archivo de configuración, ¿cómo será la configuración del usuario diferente para diferentes usuarios? – Hemant
Perdón por omitir mencionar eso. La configuración del usuario es uno de los motivos por los que existen valores predeterminados (si el usuario aún no ha utilizado la aplicación, los valores predeterminados se aplican hasta que se guarde un cambio). La configuración del usuario se almacena en un archivo de configuración separado en el directorio del perfil del usuario (Users \ XXX). La configuración del usuario también puede actualizarse (los del sistema no pueden usar la API predeterminada y no deberían - viven en Archivos de programa y no es posible controlar de forma segura el acceso de múltiples usuarios allí). –
¿dónde encaja el administrador de configuración en todo esto? Estoy intentando y no obtengo eso para decirme dónde vive mi settings.settings y luego guardo una configuración en blanco allí –