2009-05-19 5 views
2

J'ai une section applicationSettings dans mon web.config dans mon application Web ASP.NET 2.0. Cela fonctionne parfaitement pour stocker des valeurs et pouvoir y accéder en tant que valeurs fortement typées.Comment puis-je empêcher que les paramètres application de web.config soient hérités?

Voici un extrait de mon 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> 

Cependant, j'ai un autre répertoire virtuel en dessous de ce sur le serveur IIS (qui, par défaut hérite de cette web.config). Après avoir ajouté le fichier applicationSettings à ce web.config, le répertoire virtuel enfant envoie une erreur d'exécution se plaignant d'un mauvais web.config (je suppose que MyWebsite.Properties.Settings n'est pas un type valide dans le site enfant).

Comment puis-je conserver l'accès fortement typé à mes paramètres dans ce site et ne pas rompre le site qui hérite de ce web.config? J'ai essayé de faire le location tag autour de la balise applicationSettings, mais cela donne une erreur d'exécution sur ce site.

+1

Avez-vous essayé d'avoir l'enfant run répertoire virtuel dans un pool d'applications différentes? Avez-vous essayé d'ajouter un fichier web.config au répertoire virtuel enfant? – Jeff

+0

Le répertoire virtuel enfant possède son propre fichier web.config mais il s'exécute dans le même pool d'applications. Je vais essayer de lui donner son propre AppPool et poster mes résultats. Merci pour la suggestion! –

+0

@JD, une bonne idée, peut-être que cela aurait dû être une réponse. –

Répondre

1

Vous pouvez ajouter clear element à votre fichier web.config enfant.

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

Vous pouvez également utiliser l'élément remove:

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