Как мы можем изменить состояние сеанса веб-сайта из одного состояния в другое

По сути, у меня вопрос: у меня есть сайт, который был разработан около 3 лет назад, в то время как при разработке было предложено, чтобы этим сайтом пользовались немногие в Интернете.

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

Основная проблема в разработке - старый веб-сайт InProc Состояние сеанса и теперь, так как мы обновляем несколько серверов, мы хотим изменить InProc в Outproc т.е. состояние сеанса StateServer.

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

1 ответ

Решение

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

Есть два варианта.

Первый вариант - настроить маршрутизатор, который разделяет пользователей на сервер, чтобы использовать "опцию Sticky", что означает, что каждый пользователь привязывается к своему сеансу на одном сервере и только на одном. В этом случае не имеет значения, используете ли вы сеанс inproc или sql server, если маршрутизатор хорошо выполняет свою работу. Это, конечно, случай, когда вы не используете какую-либо другую базу данных для общих данных.

Второй вариант - использовать сервер sql и переместить сеанс на сервер, но здесь сервер должен находиться на одном сервере, а другой сервер получает данные своего сеанса с этого. Также вы настраиваете на web.config один и тот же ключевой компьютер для всех веб-серверов.

Так что для этого случая вам нужно.

  1. Чтобы настроить общий / общий SQL-сервер на одном сервере
  2. Чтобы установить на этом базу данных сессии (на самом деле запустить скрипт из asp.net)
  3. Настройте web.config для использования этой базы данных в качестве сеанса
  4. Настройте web.config, чтобы иметь тот же ключ компьютера.

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

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