visual transforms studio net mvc example disabled development deploy asp c# asp.net properties appsettings web-deployment-project

c# - transforms - appSettings vs applicationSettings. appSettings obsoletos?



web config transform visual studio 2017 (4)

Esto se ha discutido anteriormente aquí: Ventajas y desventajas de appSettings vs applicationSettings (.NET app.config) .

En cuanto a sus preguntas: la más antigua es <appSettings >, ya existía antes de 2.0, <applicationSettings > estuvo disponible en 2.0.

¿Ventaja? Cuando estoy editando un valor, o agregando un valor en un servidor donde la mejor herramienta es bloc de notas <applicationSettings > es muy detallado, y algunas veces solo quiero una cadena . Tal vez sea un ejemplo tonto, pero cuando estoy ajustando las configuraciones de configuración entre niveles para obtener la configuración de implementación automática correctamente, es tremendamente útil que sea simple.

Sin embargo, tengo que estar de acuerdo con marc_s de la otra discusión. Si estás haciendo algo que es realmente complejo, probablemente te estás acercando al punto en el que deberías tener tu propia sección de configuración de todos modos. Ya que está des-serializando en su tipo de configuración en el inicio ... obtiene el mismo tipo de verificación de esa manera, solo a través del XML Serializer directamente es la única diferencia.

Esto también tiene la ventaja de que yo haga Config.LDAPServer o tal vez una configuración para diferentes áreas, como Security.Config y Themes.Config (¡adivinando aquí!), Puede obtener un esquema de nombres realmente útil / claro como beneficio Themes.Config .

Esta pregunta ya tiene una respuesta aquí:

Tengo algunas preguntas acerca de dos formas de guardar la configuración en la configuración web.

Aplicaciones : mira en web.config

<appSettings> <add key="key1" value="value1"/> <add key="key2" value="value2"/> </appSettings>

Uso en el código detrás :

ConfigurationManager.AppSettings["key1"];

Configuración de aplicaciones / Propiedades (generadas automáticamente usando la pestaña ''propiedades'' en el proyecto)
Busque en web.config

<applicationSettings> <Projectname.Properties.Settings> <setting name="TestEnvironment" serializeAs="String"> <value>True</value> </setting> </Projectname.Properties.Settings> </applicationSettings>

Uso en el código detrás :

Properties.Settings.Default.TestEnvironment

Entonces, ¿cuál es la diferencia entre estas dos posibilidades de configuración de almacenamiento en la configuración web?
Por lo que puedo ver, un inconveniente de la configuración de la aplicación es que usted mismo modificó el archivo web.config y que la configuración de la aplicación no está bien definida, como en el caso de la configuración de la aplicación.

Ambos son reemplazables dentro de un proyecto de despliegue web.

En lo que a mí respecta, no hay uso para la configuración de aplicaciones . ¿Me estoy perdiendo de algo? ¿Cuál es el más antiguo visto históricamente?


Los ajustes de la aplicación tienen espacios de nombre, por lo que dos conjuntos diferentes pueden tener una configuración para "tiempo de espera" sin conflictos, y los ajustes de la aplicación son opcionales, ya que el valor predeterminado se establece a través de un atributo en la configuración del código.


Me gustaría agregar que IIS 8.0 GUI (y las versiones anteriores también) no pueden editar la sección <applicationSettings> (es invisible, es decir, parece que no se pueden configurar parámetros) mientras que <appSettings> son editables con IIS 8.0.

Hubiera sido bueno si VS2012 / IIS 8.0 utilizara el mismo sistema de configuración de GUI todo el tiempo, pero los productos no parecen estar sincronizados en ese aspecto. De una forma u otra, es posible que tenga que editar la configuración de la aplicación con el bloc de notas.

Las cadenas de conexión aparecen en ambas GUI, pero si utilizan <applicationSettings> en IIS, incluyen la ruta completa ( Namespace .Properties.Settings. ConnectionStringName ).


Una cosa que he notado es que se puede hacer referencia a los valores de AppSettings a través de <%$ AppSettings: name %> etiquetas en línea en las páginas aspx, pero parece que no hay una manera equivalente de acceder a los valores de ApplicationSettings través de las etiquetas en línea.