Как мы можем изменить состояние сеанса веб-сайта из одного состояния в другое - PullRequest
1 голос
/ 27 марта 2012

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

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

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

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

1 Ответ

1 голос
/ 27 марта 2012

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

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

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

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

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

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

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

...