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

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

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

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

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


person Chris Fewtrell    schedule 16.03.2011    source источник
comment
Вы разделили приложения по разным пулам приложений?   -  person Swaff    schedule 18.03.2011


Ответы (2)


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

По умолчанию - «ASP.NET_SessionId».

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

person Bala R    schedule 18.03.2011

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

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

person sajoshi    schedule 21.03.2011