2013-03-01 3 views
5

У меня есть два веб-приложения: один в .net 3.5 рамки и еще один в .net 4.0 рамки (MVC с бритвой). Я загрузил приложение 3.5 framework в главном домене и 4.0 в приложении. Я хочу поделиться сеансом между этим приложением. Я использую режим состояния сеанса как сервер sql. Я пробовал решения, такие как применение имени приложения в строке подключения сервера sql-сервера и изменение хранимой процедуры TempGetAppID в База данных ASPState. Он отлично работает в локальном режиме, но когда я загружаю его, он не делится сеансом. Затем я также попытался обмен файлами cookie между доменами, но также не работал. Поэтому я думаю, что это требует некоторых изменений в сервере, но я не знаю, где внести изменения. Кто-нибудь может помочь?Обмен сеансом между двумя доменами

+1

Разделяют ли они один и тот же пул приложений (не уверен, что это вопрос, но это лучшее предположение atm). Локально, я предполагаю, что они будут использовать один и тот же пул приложений, который может быть и почему он работает. – webnoob

+1

Вы должны убедиться, что 2 приложения подключены к одному файлу базы данных - и имеют одинаковый идентификатор приложения (в базе данных) – Aristos

+0

Исправленные решения, упомянутые в http://stackoverflow.com/a/3151315 и http://stackoverflow.com/a/2461502? – 2013-03-01 12:09:59

ответ

0

Одна из вещей, которые чаще всего различаются по производственным окружениям, состоит в том, что каждое приложение имеет свой собственный машинный ключ. Вы можете сгенерировать один с this generator и поместить его в конфигурацию обоих приложений, чтобы они могли расшифровать cookie из другого приложения. По умолчанию состояние сеанса также имеет файл cookie, который содержит ключ сеанса, и чтобы иметь возможность обмениваться сеансами, вы должны сначала поделиться файлами cookie.

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