2009-11-13 15 views

Respuesta

5

Web.config es específico de una aplicación.

Machine.config se aplica a todas las aplicaciones de su servidor.

Entonces, si tengo 3 aplicaciones en el mismo servidor que comparten cadenas de conexión; machine.config es el camino a seguir.

Si tengo configuraciones específicas de la aplicación (por ejemplo, intervalo de tiempo de espera) que varían en todas las aplicaciones; poner ésos en web.config

1

machine.config es un archivo de configuración global que contiene la configuración predeterminada a pie de máquina, que podría ser anulado en web.config que es específico para una aplicación determinada.

3

Son dos partes del mismo sistema. Microsoft puso algo de magia en .NET para que machine.config y web.config se fusionen en tiempo de ejecución. Machine.config proporciona los valores predeterminados que web.config puede anular si así lo desea.

Machine.config proporciona una forma de mantener la configuración que es específica de la máquina. Así que supongamos que tiene dos entornos, Production y UAT, que necesitan apuntar a diferentes bases de datos. Puede poner connectionStrings for Production y UAT en machine.config en los cuadros Production y UAT, respectivamente, y todas las aplicaciones ASP.NET en esas máquinas tendrán acceso al connectionString apropiado.

Puede leer más acerca de los archivos de configuración .NET here.

2

Sugeriría leer en ASP.NET Configuration Inheritance. Hay otras capas de configuración además de machine.config y web.config, y ayuda a conocer todas las diferentes piezas que pueden estar afectando su aplicación.

7

Cuidado. Hay una jerarquía de archivos de configuración:

applicationHost.config es el archivo de configuración de IIS de nivel superior.

El siguiente es machine.config, que es el archivo de configuración de nivel superior específico del servidor.

Siguiente es un archivo de nivel de servidor web.config.

Luego hay una aplicación específica web.config.

A continuación, hay un archivo opcional application.config.

Finalmente, hay archivos opcionales específicos del directorio web.config.

Los archivos de nivel superior a menudo contienen directivas que limitan lo que puede configurar en los archivos de nivel inferior. El nivel más alto web.config, por ejemplo, es donde se configuran los niveles de confianza del servidor.

Cuestiones relacionadas