Я хотел бы знать, как повлияет изменение файла web.config во время работы приложения ASP.NET.
Вот мой точный сценарий. У меня есть два хоста, на которых запущено одно приложение на IIS6. Оба хоста имеют одинаковые файлы machine.config, то есть они используют одни и те же ключи машины.
|
|
[HOST A]----[NLB]---[HOST B]
| |
| |
| |
| |
[SQL server for ASP.NET sessions]
Приложение должно быть доступно пользователям каждый день с 7:00 до 18:00. В 19:00 хост A и B перезагружаются, и мы можем сделать некоторые обновления приложения на обоих хостах. Но иногда мы хотели бы иметь возможность делать обновления во время работы приложения. Обновления часто состоят из добавления некоторых значений в web.config, что, насколько я знаю, вызывает перезапуск приложения.
Приложение в значительной степени зависит от сеансов, но они сохраняются на сервере SQL, и в памяти сервера хранятся только данные кэша, и это не критично в случае потери этих данных. Но потеря пользовательских сессий абсолютно недопустима. Мой вопрос: что будет с пользователями, если мы изменим файл web.config на одном из хостов в веб-ферме, если сервер в данный момент выполняет запрос пользователя? И что произойдет, если во время перезапуска приложения поступит новый запрос?