2016-02-25 3 views
0

Безопасно ли хранить данные пользователя в HttpContext.Current.Session, когда установлен балансировщик нагрузки?Будет ли HttpContext.Current.Session работать с балансировщиком нагрузки?

Если нет, то какой правильный подход хранить данные пользователя в памяти на нескольких веб-серверах?

ответ

2

Вы все еще можете использовать состояние сеанса, но хотите использовать внешний поставщик состояния сеанса вместо значения по умолчанию InProc mode - значения и переменные хранятся в памяти на локальном веб-сервере.

У вас есть несколько вариантов -

+2

@mimo: One Thing, чтобы отметить здесь, связанные с сеансом события в Global.asax.cs не будут выполняться, как только вы установите его на что-либо отдельно от In-Proc – SamGhatak

1

Некоторые балансировочные балансиры могут использовать сродство к IP, это означает, что весь запрос с данного IP-адреса переходит на тот же сервер. Если у вас есть такой балансировщик нагрузки с включенной поддержкой ip, вы можете использовать переменные сеанса в proc. Если вы этого не сделаете, вам нужно будет использовать поставщиков сеансов StateServer или SQL Server.

Смежные вопросы