Rewritemaps с внешней конфигурацией для принудительной перезагрузки пула приложений

111
11

У меня есть следующее определение в моем web.config(


<rewriteMaps configSource="Rewrites.config"  />

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


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


Может быть, вопрос в том, должен ли быть другой способ, чтобы карты перезаписи были динамически использованы приложением?


Я использую IIS7 в интегрированном режиме, работающем под средним доверием.


Спасибо
Ричард

спросил(а) 2021-01-14T00:16:33+03:00 1 неделя назад
1
Решение
60

Взломать способ утилизации только вашего пула приложений - это добавить, а затем удалить подпапку. Это приведет к перезагрузке приложения.

ответил(а) 2021-01-14T00:16:33+03:00 1 неделя назад
43

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


В этом подходе есть несколько минусов:


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

Лучшим подходом может стать позволить Администратору перезаписать файл обычно через веб-страницу, как вы делаете сегодня, а затем запустить их script, например, @Simon. Администратор, вероятно, уже имеет повышенные привилегии и должен иметь возможность выполнить script, который вызывает iisapp.vbs, чтобы перерабатывать конкретный пул приложений, а не полный iisreset.


Надеюсь, что это поможет!

Z

ответил(а) 2021-01-14T00:16:33+03:00 1 неделя назад
42

Взгляните на это, если вы заинтересованы в программной утилизации пула приложений, Recycle App Pool, есть также ссылка на снизу для утилизации через script

ответил(а) 2021-01-14T00:16:33+03:00 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема