Обнаружить web.config был изменен

Я создал HTTPModule, который должен регистрировать перезапуски и ответы.
Параметры, которые сообщают модулю http, как работать, находятся в web.config.
Но чтобы модуль http работал с последними значениями параметров, в каждом запросе я считывал параметры из app.config.

Есть ли способ обнаружить изменения в файле web.config, чтобы я мог перезагружать параметры модуля http вместо чтения их каждый раз при получении ответа?

2 ответа

Решение

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

@Ladislav & @velijoz верны. Web.config читается один раз, а значения сохраняются в памяти до перезапуска приложения, потому что, например, был изменен web.config.

Если, конечно, вы не открываете и не читаете файл напрямую. Это было бы плохо.

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

Саймон

Я недавно узнал, что когда, например, вы меняете свой web.config технически, приложение asp.net не перезапускается - оно выгружается. Когда вы запускаете следующий запрос или запускаете пул приложений, он начинает загружаться.

Я подаю это в соответствии с распространенным заблуждением разработчиков asp.net;)

Другие вопросы по тегам