2010-04-25 9 views
9

¿Hay alguna aplicación que pueda mostrar la configuración final tal como se aplica a un directorio de aplicación en particular? Lo que estoy imaginando es algo parecido al visor CSS de FireBug.Búsqueda de valores finales/efectivos de web.config (de configuraciones heredadas)

Básicamente, debe mostrar el único archivo web.config equivalente (como si solo tuviera uno), con todos los valores que se aplican al directorio en cuestión, con cada elemento (o incluso atributo) anotado con su fuente (el archivo .config real del que vino).

Esto ayudaría enormemente a implementar aplicaciones en entornos extranjeros (por ejemplo, sitios de clientes) donde a veces tienen configuraciones extrañas, que se agregan en inclusiones globales (por ejemplo, ponen el include en machine.config, en lugar del web.config para esa aplicación) o tiene allowOverride = false, etc.

Respuesta

1

Actualmente no existe ninguna públicamente conocida, sin embargo, un espectador podría escribirse fácilmente. Analizaría el origen reflejado de .NET CLR con respecto a la herencia de la configuración y la determinación del valor. La lógica del código que calcula la configuración final de un dominio es bastante específica, por lo que tiene sentido que actualmente no exista ningún visor para su solicitud, y este sería un buen punto de partida para un espectador que usted imagina.

En cuanto a facilitar las implementaciones, las comparaciones y los archivos de configuración de edición, personalmente recomiendo probar ASPhere. Actualmente es el mejor editor de GUI para archivos de configuración .NET, aunque no es de código abierto.

Hay, por supuesto, ejemplos útiles adicionales lectura/acceso a los archivos de configuración:

Y existen excepciones especiales para las secciones, como la configuración "processModel". Para obtener más información/datos de información general, ver:

+0

El ASPhere abre un archivo, aquí se preguntará qué sucede, incluidos todos los archivos web.config que se han cargado antes de la final. Y cómo todos juntos web.config han hecho las opciones que finalmente se usaron en la aplicación. – Aristos

1

Si conoce las secciones de configuración que le interesan a continuación, esto le dará la configuración eficaz como una clase específicamente para esos ajustes. A continuación, puede convertir el tipo y recuperar la configuración de esa manera y hacer lo mismo por cualquiera de las secciones que le interesan.

object vals = System.Configuration.ConfigurationManager.GetSection("AppSettings") 

Sin embargo, no sé de ninguna manera de recuperar todas las secciones de configuración actuales si quieres descubrir todas las secciones usando código.

Cuestiones relacionadas