Можно ли использовать объекты сеанса, такие как пользовательский объект, через несколько браузеров? Мое требование в том, что если пользователь пытается переключиться между разными браузерами (IE, Chrome или Fireforx), приложение должно разрешить навигацию вместе с совместным использованием пользовательского объекта.Совместное использование объекта сеанса по нескольким браузерам
ответ
Совместный сеанс между браузерами невозможен, сеансовое cookie используется браузером для уникального определения каждого клиента и хранится в памяти браузера. Таким образом, одному браузеру не разрешен доступ к памяти другого браузера, и это делает невозможным совместное использование сеанса между различными браузерами. Читайте больше о session cookies, чтобы сделать его более понятным.
Это 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-адреса). И так далее.
А также, может быть, самое главное:
- Он ломает ожидания пользователей компьютера, как сессии обычно работает ...
- 1. Совместное использование ListView по нескольким вкладкам
- 2. Совместное использование компонентов по нескольким проектам Aurelia
- 3. Совместное использование ADOConnectionString по нескольким приложениям - Delphi
- 4. Совместное использование базы данных по нескольким приложениям
- 5. Совместное использование сеанса JVM
- 6. Совместное использование объектов сеанса
- 7. Совместное использование экземпляра объекта по классам
- 8. WCF: совместное использование кэшированных данных по нескольким службам
- 9. Совместное использование раскадровки по нескольким целям в Swift
- 10. многопроцессорность - совместное использование сложного объекта
- 11. Проблемы с датами в JS по нескольким браузерам
- 12. совместное использование сеанса в веб-приложениях
- 13. Ninject: Совместное заявление конструктора по нескольким привязок
- 14. Совместное использование объекта между потоками
- 15. Совместное использование объекта в куче
- 16. Совместное использование сеанса между двумя сайтами
- 17. Совместное использование cookie сеанса WordPress с MediaWiki
- 18. Совместное использование сеанса между двумя рельсами приложений
- 19. В Symfony, совместное использование данных по субдоменам
- 20. Совместное использование памяти по потокам?
- 21. Совместное использование строк по классам
- 22. Совместное использование AutoFixture в тестах
- 23. Node.js: Совместное использование объекта между несколькими файлами
- 24. Совместное использование объекта между двумя классами
- 25. Совместное использование объекта между различными объектами
- 26. Совместное использование сериализованного объекта между приложениями
- 27. совместное использование объекта XPObject между потоками
- 28. Совместное использование объекта с другим классом C++
- 29. Совместное использование объекта GoogleMaps между двумя действиями
- 30. MVC - совместное использование данных запроса на основе не удается, совместное использование данных на основе сеанса успешно