Подтвердить что ты не робот

Является ли web.config или app.config кэширован в памяти

если он кэширован, что произойдет, если я использую несколько web.config в многоуровневых папках

4b9b3361

Ответ 1

Все они кэшируются.

Конфигурация читается один раз при запуске. С помощью web.config IIS наблюдает за изменениями файлов и перезапускает приложение.

Ответ 2

ОК, поэтому у вас не будет функции KEY в области файлов Web.Config.

Да, web.config кэшируется, и изменение содержимого файла приведет к перезагрузке вашего веб-приложения. И все ваши подключенные пользователи не будут счастливы, потому что им нужно будет "повторно подключиться" к новой, возможно, потеряв желаемую информацию.

Итак, используйте собственный файл EXTERNAL для вашего AppSettings, как показано ниже:

<appSettings configSource="MyCustom_AppSettings.config"/>

Затем в файле MyCustom_AppSettings.config у вас есть свои настройки, так как в этом примере:

<appSettings>

  <!--   AppSecurity Settings   -->
  <add key="AppStatus_Active" value="Active"/>

  <!--   Application Info Settings   -->
  <add key="AppID" value="25"/>
  <add key="AppName" value="MyCoolApp"/>
  <add key="AppVersion" value="20120307_162344"/>
</appSettings>

Теперь, если вам нужно добавить, изменить или удалить AppSetting, когда вы измените его в этом файле, изменение будет почти мгновенным в вашем веб-приложении НО (и здесь BEST), ваше приложение НЕ РЕСТАРТ!

Все остается кошерным, кроме тех настроек, которые вы добавили/модифицировали/удалили во внешнем файле .config.

И да, одна вещь может быть сделана для раздела следующим образом:

<connectionStrings configSource="MyCustomApp_ConnectionStrings.config"/>

а файл MyCustomApp_ConnectionStrings.config содержит все необходимые строки подключения. Измените строку подключения во внешнем файле .config, и она начнет использоваться сразу и без перезапуска веб-приложения.

Параметры configSource великолепны, когда вам нужно развернуть их для разработки, тестирования и производства в разных блоках и нуждаться в настройках, соответствующих данному поле/среде.

Итак, теперь я знаю (что-то, что было вокруг 7+ лет).

Это просто. На самом деле.

КЦ

Ответ 3

Web.config(за исключением внешних файлов конфигурации) считывается, когда приложение загружается. Некоторые настройки конфигурации имеют каскадное поведение. Например, секция system.web/authorization может быть переопределена конфигурациями на более глубоких уровнях.

ASP.NET контролирует файл web.config для изменений. Когда он изменяется, веб-приложение принудительно перезапускается. Мораль заключается в том, что настройки web.config кэшируются в течение всего срока действия приложения.