2010-05-23 20 views
12

Esto puede sonar un poco tonto.Diferencia entre Setting.settings y web.config?

Siempre tuve la impresión de que web.config debería almacenar todas las configuraciones que podrían estar sujetas a cambios posteriores a la creación y configuración. Las configuraciones deberían tener una que pueda cambiar antes de la compilación.

pero he visto proyectos que tenían como cadena de conexión en setting.settings. Las cadenas de conexión siempre deberían estar en web.config, ¿no es así?

Estoy interesado en una respuesta de perspectiva de diseño.

Mi experiencia actual es que estoy desarrollando una aplicación web con los tres niveles abstraídos en tres proyectos de estudio visual por lo que cada nivel tiene su propio archivo .settings y.

Respuesta

12

Web.config está diseñado principalmente para la configuración, y también almacena los valores predeterminados de su configuración, mientras que Settings.settings es solo un archivo de conveniencia para que Visual Studio proporcione una interfaz de usuario para editar sus configuraciones.

El .config viene en dos versiones diferentes: App.config para aplicaciones de Windows, que se denominará YourApplication.exe.config, y Web.config para aplicaciones web. Comparten el mismo esquema, sintaxis y opciones.

  • Puede notar que si agrega una configuración a Settings.settings, también se agrega al .config.
  • El .config deben desplegarse con las aplicaciones, pero Settings.settings no necesita
+1

Sí, acabo de notar que agrega configuraciones en el archivo de configuración. Así que básicamente Setting.settings es una especie de interfaz de usuario para agregar cosas en el archivo de configuración. no es así? – neebz

+2

@Muneeb - Sí, y le proporciona una clase de acceso conveniente a su configuración. Pero bajo el capó, están en .config. – Venemo

+1

Sí. yo también - Me acabo de dar cuenta de que se agregó a web.config. Al principio estaba preguntándome cómo iba a transformar los valores de settings.settings para test y live, pero si se agregan a web.config, simplemente los trataría como registros web.config normales y usaría su Web.Debug.config para aplicar transformaciones manualmente Básicamente, Settings.settings es una interfaz gráfica que se puede utilizar para ayudar a la edición web.config. – ozzy432836

0

Setting.settings es una clase, no se utiliza para almacenar la cadena como tal, se utiliza para exponer una cadena de conexión específica de web/app.config como una propiedad en una clase. VS también tiende a codificar un valor predeterminado si no se puede encontrar la cadena de conexión en particular.