Изменение файла web.config приложения в кластере NLB - PullRequest
0 голосов
/ 27 ноября 2008

Я хотел бы знать, как повлияет изменение файла 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 на одном из хостов в веб-ферме, если сервер в данный момент выполняет запрос пользователя? И что произойдет, если во время перезапуска приложения поступит новый запрос?

1 Ответ

3 голосов
/ 27 ноября 2008

Ну, вы уже ответили сами. Обычно сеансы прерываются при перезапуске, но вы используете SQL Server для их сохранения, поэтому они не будут потеряны.

Новые посетители, однако, получат страницу с ошибкой при перезапуске. Но они не будут запускать новый сеанс, поэтому посетитель может просто продолжать F5 до тех пор, пока приложение не будет запущено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...