Изменение файла web.config приложения в кластере NLB

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
703
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

Таким образом, кажется, что нет способа делать обновления во время работы приложения, не нарушая взаимодействия с пользователем. Спасибо за Ваш ответ.

Darin Dimitrov 27.11.2008 18:53

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