Сессия доли между двумя веб-сайтами с помощью asp.net и сервера состояния

Я имею два точно те же веб-сайты, размещенные в двух различных машинах под IIS 7.5. государственная служба ASP.NET работает на моей машине, и web.config обновляется в обоих сайтах со следующим кодом:

<sessionState mode="StateServer" stateConnectionString="tcpip=192.168.1.77:42424" cookieless="false" timeout="120"/>

Позволить удаленное соединение установлено на 1 в реестре для второго веб-сайта получить доступ к серверу состояния.

Оба веб-сайта имеют тот же ключ машины:

<machineKey validationKey="7CB8DF6872FB6B35DECD3A8F55582350FEE1FAB9BE6B930216056C1B5BA69A4C5777B3125A42C4AECB4419D43EC12F168FD1BB887469798093C3CAA2427B2B89" decryptionKey="02FC52E4C71544868EE297826A613C53537DF8FDAF93FA2C64E9A5EF0BA467FB" validation="SHA1" decryption="AES" />

Дополнительно оба сайта настроены в IIS, чтобы иметь тот же Идентификатор.

То, что я хочу сделать, - то, что оба этих сайта совместно используют те же данные сессии, например, способность сделать следующее:

// At web site 1: 
Session["key"] = "value"

и

// At web site 2:
// Read session value from the other web site
string result = Session["key"]

Проблема состоит в том, что я не могу суметь выполнить этот тест и действительно не могу понять то, что я делаю неправильно.

Какая-либо идея, которая могла бы помочь?

13
задан ppolyzos 9 August 2010 в 09:57
поделиться

1 ответ

Вам понадобится способ убедить ваш браузер отправлять один и тот же файл cookie сеанса ASP.NET независимо от того, какой сайт он посещает.

Если cookie отсутствует в запросе, то с этим ключом будет создана новая сессия.

Я думаю, вы можете заставить браузер сохранять ключ с помощью некоторых скрытых конфигураций DNS - если вы назначите http://website1.mydomain.com/ и http: //website2.domain .com / в качестве адресов ваших сайтов, затем установите домен cookie сеанса ASP.NET на «domain.com», после чего ваш браузер отправит его на оба сайта, и сеанс должен стать общим.

Вы также можете использовать режим без файлов cookie с ASP.NET и получить идентификатор сеанса из сгенерированных URL-адресов.

4
ответ дан 1 December 2019 в 23:46
поделиться
Другие вопросы по тегам:

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