2009-04-22 2 views

ответ

6

Да, это ничего не даст, и я не знаю, как это предотвратить.

Однако многие разделы конфигурации позволят вам очистить данные, унаследованные от родительских файлов.

E.g.

<appSettings> 
    <clear/> 
    <add key=...> 
</appSettings> 

<connectionStrings> 
    <clear/> 
    <add ... /> 
</connectionStrings> 
+2

как я могу заставить его игнорировать? – Blankman

+0

Вы можете сделать это, создав приложение в другом каталоге или изменив настройки. –

+0

Это отлично работает, очень хорошо –

1

Ребенок наследует файл web.config родителя.

Кроме того, когда в дочернем файле создается новый файл web.config, настройки файла web.config ребенка переопределяют те же настройки в файле родителя web.config.

3

Вы можете также использовать remove тег, чтобы избавиться от вещей, которые вы не хотите, или поместить все в месте и сказать ему, чтобы не наследовать:

<remove name="FooBar" /> 

<location path="." inheritInChildApplications="false"> 
    <system.web> 
     ... 
    </system.web> 
</location> 
+2

, но как насчет секций за пределами system.web? например Blankman

+0

не уверен на 100%, но я считаю, что вы можете обернуть что-нибудь в «месте». Я не пробовал, определенно нужно будет его протестировать. – Chuck

+0

Элементы, которые разрешены только в «root» web.configs, не могут быть завернуты в «местоположение». –

0

Что вы делаете это изменить родительский .NET web.config 4 приложения в, чтобы указать его параметры не должны стекать к детям

<location path="." inheritInChildApplications="false"> 
    <system.web> 
    ...your system.web stuff goes here 
    </system.web> 
</location> 

для получения более подробной информации см здесь http://www.hanselman.com/blog/ChangingASPNETWebconfigInheritanceWhenMixingVersionsOfChildApplications.aspx

Смежные вопросы