Как гарантировать, что состояние сеанса НЕ разделяется между приложениями, размещенными на одном сервере - PullRequest
4 голосов
/ 16 марта 2011

Мой вопрос напротив следующего
Совместное использование состояния сеанса между двумя приложениями ASP.NET, использующими SQL Server а также Как поддерживать один и тот же идентификатор сеанса в нескольких веб-приложениях в ASP.NET .

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

В настоящий момент, поскольку cookie ASP.NET_SessionId не сохраняется ни по какому пути, если я попал на http://donkey.com/app1 и начал новый сеанс, а затем, в том же сеансе браузера, перешел на http://donkey.com/app2, я наследую ID сеанса (и, следовательно, состояние сеанса) из приложения 1.

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

Ответы [ 2 ]

10 голосов
/ 18 марта 2011

Вам придется использовать разные cookieName для каждого веб-приложения в web.config.

По умолчанию используется ASP.NET_SessionId.

Вы также можете программно установить его. Проверьте этот пост .

0 голосов
/ 21 марта 2011

Вы можете использовать субдомены для достижения этой цели.например, http://app1.donkey.com и http://app2.donkey.com. По умолчанию - файлы cookie не распределяются между доменами.

Другой способ сделать это - установить имя файла cookie программно, основываясь на некотором значении конфигурации, которое определяет, какую версию вы используете.

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