2010-01-04 10 views
5

Ich entwickle ein asp.net-Projekt und ich habe nicht sehr lange web.config-Datei noch (mehr als 400 Zeilen). aber mit diesem nhibernate log4net und urlrewrites. es wird immer größer. Gibt es eine gute Möglichkeit, web.config in Teile zu teilen. wie nhibernate.config und log4net.config ofcourse urlrewrite.configteile web.config

Antwort

20

system.webServer ist ein Konfigurationsabschnitt Gruppe - Sie können das nicht externalisieren.

Sie können die configSource = nur auf eine Konfiguration setzen Abschnitt - z.

<system.webServer> 
    <validation configSource="validation.config"/> 
    <modules configSource="modules.config" /> 
    <handlers configSource="handlers.config" /> 
</system.webServer> 

Was für eine Konfigurationsschnittgruppe ist oder ein regulärer Konfigurationsabschnitt kann nur durch einen Blick auf der Dokumentation für diese Dinge bestimmt werden (und selbst dann oft es ist nicht sehr einfach, herauszufinden, ob es ein Abschnitt ist oder eine Abschnittsgruppe

+1

Ich hatte das selbe Problem mit system.ServiceModel und es ist in der Tat auch eine Section-Gruppe: http: //msdn.microsoft.com/en-us/library/system.servicemodel.configuration.servicemodelsectiongroup.aspx – odalet

+0

Der ** Laufzeitabschnitt ** akzeptiert glücklicherweise das configSource-Attribut, aber *** *** liest die externe Datei nicht *** – Kiquenet

1

Dies ist möglich, indem Sie das Attribut configSource der Root-Abschnitte in der Konfigurationsdatei verwenden. Dies ist eigentlich eine Eigenschaft des .NET-Konfigurationssystems, so dass es in jeder Web- oder App-Konfigurationsdatei ausgeführt werden kann.

Hier ist eine blog post, die diese Funktion ziemlich gut beschreibt.

+0

Ich habe gerade versucht, dass für system.webserver Tag.Es enthält die urlrewrite meist. Und jetzt bekomme ich "Unbekanntes Attribut 'configSource'" –

+0

Ja, das ist ein Problem. System.webServer ist kein Standard-Config-Abschnitt selbst. Sie sollten in der Lage sein, configSource jedoch auf jedem seiner untergeordneten Elemente zu verwenden. – joshperry

Verwandte Themen