Hay una diferencia fundamental entre connectionString
y appSettings
:
Se ven cosas diferentes. En .NET 2.0 y superior:
Un objeto connectionString
es un nodo XML que tiene atributos específicos para establecer; y semánticamente se refiere a una cadena de conexión a la base de datos.
Por ejemplo, un connectionString
tiene el siguiente aspecto:
<connectionStrings>
<clear/>
<add name="LocalSqlServer"
connectionString="Data Source=(local);Initial Catalog=aspnetdb;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
Se dará cuenta de que tiene unos atributos diferentes:
name
connectionString
: Esta tiene una cadena específica en el interior de él, necesita un Initial Catalog
, un mecanismo de seguridad (en este caso Integrated Security
providerName
Mientras appSettings
es sólo un par clave-valor definido por el usuario que le permite ... bueno ... configurar parámetros de la aplicación. Puede ser cualquier cosa:
<appSettings>
<add key="Mom" value="Your"/>
<add key="UseCache" value="True"/>
<add key="MapsKey" value="1234567890-AA"/>
<add key="SMTPServer" value="smtp.peterkellner.net"/>
</appSettings>
En muchos casos, no sería más que extraña para poner la connectionString en un par clave-valor como appSettings
(semántica y programación). Además, haría más difícil el encrypt the connectionString when you need to.
Hay más información about this from this blog post.
Si recuerdo correctamente, ASP.NET 1.1 no admitía una sección de "connectionStrings" dentro de web.config, por lo que las cadenas de conexión terminaban en appSettings con todo lo demás. Podría encontrarse con aplicaciones que tienen sus raíces en 1.1 días (o quizás desarrolladores cuyos hábitos están trabajados allí a pesar de estar en proyectos 2.0+). –