2009-05-19 2 views
2

Ich habe eine Anwendung in meinem web.config Abschnitt in meiner ASP.NET 2.0 Web-Anwendung. Dies funktioniert perfekt, um Werte zu speichern und als stark typisierte Werte darauf zugreifen zu können.Wie kann ich verhindern, dass applicationSettings in der Datei web.config vererbt wird?

Hier ist ein Ausschnitt aus meiner web.config:

<configuration> 
... 
<applicationSettings> 
    <MyWebsite.Properties.Settings> 
     <setting name="ExcludedItemNumbers" serializeAs="Xml"> 
      <value> 
       <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
       <string>123</string> 
       <string>124</string> 
       </ArrayOfString> 
      </value> 
     </setting> 
    </MyWebsite.Properties.Settings> 
    </applicationSettings> 
</configuration> 

aber ich habe ein anderes virtuelles Verzeichnis unterhalb dieses auf dem IIS-Server (standardmäßig diese web.config erbt). Nach dem Hinzufügen der applicationSettings zu dieser web.config wirft das untergeordnete virtuelle Verzeichnis einen Laufzeitfehler und beschwert sich über eine fehlerhafte web.config (ich nehme an, da MyWebsite.Properties.Settings kein gültiger Typ in der untergeordneten Site ist).

Wie kann ich den stark typisierten Zugriff auf meine Einstellungen auf dieser Site beibehalten und nicht die Site unterbrechen, die diese web.config erbt? Ich habe versucht, die location tag um das ApplicationSettings-Tag zu tun, aber das gibt einen Laufzeitfehler auf dieser Website.

+1

Haben Sie versucht, das virtuelle Verzeichnis laufen Kind zu haben? Haben Sie auch versucht, eine web.config zum virtuellen Unterverzeichnis hinzuzufügen? – Jeff

+0

Das untergeordnete virtuelle Verzeichnis hat seine eigene web.config, es wird jedoch im selben Anwendungspool ausgeführt. Ich werde versuchen, es einen eigenen AppPool geben und meine Ergebnisse veröffentlichen. Danke für den Vorschlag! –

+0

@JD, eine großartige Idee, vielleicht sollte es eine Antwort sein. –

Antwort

1

Sie können die clear element Ihrer untergeordneten Datei web.config hinzufügen.

<appSettings file=""> 
     <settings> 
     <clear /> 
     </settings> 
    </appSettings> 
1

Sie können auch das Entfernen Element verwenden: in einem anderen Anwendungspool

<appSettings> 
     <settings> 
     <remove key="someKey" /> 
     <add key="someKey" value="a new value" /> 
     </settings> 
</appSettings> 
Verwandte Themen