2012-07-03 2 views
0

Можно ли использовать объекты сеанса, такие как пользовательский объект, через несколько браузеров? Мое требование в том, что если пользователь пытается переключиться между разными браузерами (IE, Chrome или Fireforx), приложение должно разрешить навигацию вместе с совместным использованием пользовательского объекта.Совместное использование объекта сеанса по нескольким браузерам

ответ

1

Совместный сеанс между браузерами невозможен, сеансовое cookie используется браузером для уникального определения каждого клиента и хранится в памяти браузера. Таким образом, одному браузеру не разрешен доступ к памяти другого браузера, и это делает невозможным совместное использование сеанса между различными браузерами. Читайте больше о session cookies, чтобы сделать его более понятным.

0

Это IS возможно. Но это потребовало бы вы написать свой собственный SessionIDManager класс:

http://msdn.microsoft.com/en-us/library/system.web.sessionstate.sessionidmanager.aspx

Если вы создаете свой собственный SessionIDManager решить, как вы будете определять, если запрос относится к конкретной сессии или нет. IP-адрес клиента должен быть по крайней мере одним параметром, а конкретный ключ приложения может быть другим и т. Д. Фактический ключ сеанса, который возвращается, может быть подходящим строковым представлением хэша всех параметров (сгенерированный идентификатор сеанса ДОЛЖЕН быть уникальным для каждый сеанс).

После того как вы вы SessionIdManager сделали вы можете подключить его в web.config:

<sessionState mode="[mode]" ... 
    sessionIDManagerType="[full type name of your class here]" ... /> 

Так может быть сделано.

Но я бы Personnally не сделать такой класс, если нет какой-то действительно веская причина сделать это:

  • Было бы очень легко получить это неправильно, и перепутать сессий для различных пользователей.
  • Что делать, если другой пользователь получает доступ к сайту через тот же прокси? Что такое
    , если перед вашим сайтом имеется балансировщик нагрузки (= все запросы кажутся исходящими из того же IP-адреса). И так далее.

А также, может быть, самое главное:

  • Он ломает ожидания пользователей компьютера, как сессии обычно работает ...
Смежные вопросы