2010-04-25 7 views
9

Gibt es Apps, die die endgültige Konfiguration für ein bestimmtes Anwendungsverzeichnis anzeigen können? Was ich mir vorstelle, ist etwas in der Art von FireBugs CSS-Viewer.Suchen nach endgültigen/effektiven web.config-Werten (aus geerbten Konfigurationen)

Grundsätzlich sollte es die entsprechende einzelne web.config-Datei (als ob Sie nur eine hatten) mit allen Werten für das fragliche Verzeichnis anzeigen, wobei jedes Element (oder sogar Attribut) mit seiner Quelle annotiert wurde (die echte .config-Datei, von der es kam).

Dies würde sehr hilfreich bei der Bereitstellung von Anwendungen in fremden Umgebungen (z. B. Kundenstandorten) sein, wo sie manchmal seltsame Konfigurationen haben, die globale Includes hinzufügen (z. B. das Include in machine.config anstelle von web.config für) die app) oder haben allowOverride = false, etc.

Antwort

1

Derzeit gibt es keine, die öffentlich bekannt sind, aber ein Viewer könnte leicht geschrieben werden. Ich würde die reflektierte Quelle der .NET CLR bezüglich Konfigurationsvererbung und Wertbestimmung analysieren. Die Codelogik, die die endgültige Konfiguration für eine Domäne berechnet, ist ziemlich spezifisch. Es macht also Sinn, dass derzeit kein Viewer für Ihre Anfrage vorhanden ist. Dies wäre ein guter Ausgangspunkt für einen Betrachter, den Sie sich vorstellen.

In Bezug auf die Bereitstellung, Vergleiche und die Bearbeitung von Konfigurationsdateien, empfehle ich persönlich versuchen ASPhere. Es ist derzeit der beste GUI-Editor für .NET-Konfigurationsdateien, obwohl es nicht Open Source ist.

Es gibt natürlich zusätzliche hilfreiche Beispiele Lesen/Zugriff auf Konfigurationsdateien:

Und es gibt spezielle Ausnahmen für Abschnitte wie "ProcessModel" -Einstellungen. Weitere Informationen/Übersicht Details finden Sie unter:

+0

Das ASPhere ist eine Datei öffnen, hier ist gefragt, was passiert, einschließlich alle web.config, die vor dem letzten geladen wurden. Und wie alle zusammen web.config die Optionen gemacht haben, die endgültig auf der Anwendung verwendet werden. – Aristos

1

Wenn Sie die Config-Abschnitte wissen Sie interessiert sind, dann wird dies Sie die effektiven Einstellungen als geben Klasse speziell für diese Einstellungen. Sie könnten dann den Typ gegossen und die Einstellungen abzurufen, die Art und Weise und das gleiche tun für alle Abschnitte, die Sie interessieren.

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

aber ich weiß nicht von irgendeiner Weise alle aktuellen Konfigurationsabschnitte abrufen wenn Sie alle Abschnitte mit Code entdecken möchten.