Совместное использование состояния сеанса между 2 приложениями ASP.NET с помощью SQL Server

Я работаю над сайтом, который имеет требование для совместного использования сессии между cms приложением и приложением интернет-магазина на том же домене, например.

mydomain.com

и

store.mydomain.com

Я сделал некоторые успехи с ним, и это работает над моей локальной сборкой между

localhost/cms

и

localhost/store

В основном я сделал то, что предлагается в этой статье

http://blogs.msdn.com/toddca/archive/2007/01/25/sharing-asp-net-session-state-across-applications.aspx

и взломанный Хранимая процедура TempGetAppID для возврата того же идентификатора приложения (1). Это, кажется, работает, поскольку это создает сессии с идентификаторами как 'abv5d2urx1asscfwuzw3wp4500000001', который является тем, что я ожидал бы.

Моя проблема - то, что, когда я развертываю его на нашей тестовой среде, это создает новую сессию, когда я перешел между этими 2 сайтами. Таким образом, когда я запускаю сессию на cms сайте, если я перешел к хранилищу, он создает новую сессию. Они настраиваются как 2 различных веб-сайта в IIS7.

В web.config файлах и для сайтов, и для элементов оба то же и следующим образом (минус уязвимая информация)

Кто-либо получил идеи, почему это не могло бы работать? Я совместно использую Аутентификацию Форм через эти 2 сайта, и это хорошо работает. Любая справка или идеи значительно ценились бы!

Большое спасибо

Dave

8
задан marc_s 8 March 2010 в 17:02
поделиться

2 ответа

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

Мы добавили в наш web.config, и, похоже, проблема решена. Спасибо за помощь, надеюсь, это поможет кому-то еще в будущем.

7
ответ дан 5 December 2019 в 12:57
поделиться

Сохранять все данные сеанса на SQL-сервере, используя идентификатор сеанса в качестве ключа. Затем используйте файл cookie, содержащий идентификатор сеанса, указывающий на .mydomain.com , чтобы он был доступен в обоих субдоменах.

В этой статье за ​​15 секунд рассматривается тема и даже демонстрируется метод обмена сеансами в совершенно разных доменах.

6
ответ дан 5 December 2019 в 12:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: