2009-09-22 4 views
5

Ich möchte das Attribut configSource meiner Web-Konfiguration verwenden, um externe Dateien für verschiedene Einstellungen zu definieren.Verwenden von ConfigSource und Ändern von restartOnExternalChanges für Core-Abschnitt

Insbesondere die appSettings Abschnitt. Das bedeutet, meine Config-Datei den folgenden Eintrag hat:

<appSettings configSource="My.AppSettings.config" /> 

Wenn jedoch diese Datei aktualisiert wird, werden die Einstellungen nicht automatisch aufgehoben, was der Fall gewesen wäre, wenn die Einstellungen manuell im web.config enthalten waren

Weitere Untersuchungen führten mich zum restartOnExternalChanges Attribut. Dies kann scheinbar mit <section/> Elementen verwendet werden, um zu definieren, ob externe Dateien, die von ConfigSource identifiziert werden, Neustarts auslösen können oder nicht. Groß! dachte ich.

Wenn ich jedoch versuche, den Abschnitt appSettings zu definieren und den Wert restartOnExternalChanges zu ändern, sehe ich den gleichen Fehler here, weil der Abschnitt appSettings in der machine.config definiert ist - eine Datei, die ich nicht ändern kann.

Weiß jemand, ob es möglich ist, diese beiden Einstellungen zusammenzuarbeiten, für Abschnitte, die bereits auf einer höheren Ebene definiert sind?

Antwort

3

Versuchen Sie stattdessen diese Konfiguration.

<section 
    name="MyAppSettings" 
    type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
    restartOnExternalChanges="true" 
    requirePermission="false" /> 
+1

Wo soll das gehen, die Datei machine.config? – Omar

+3

Ich habe das gleiche Problem, aber mit der Abschnitt. Ich hätte gerne aber ich erhalte den Fehler 500, wenn ich restartOnExternalChanges in diesem Abschnitt verwende. Gibt es eine Möglichkeit, dies als eine Variante Ihrer Lösung zu tun? Dies ist natürlich auf IIS7. –