WEB-серия. Разделение состояний между вкладками браузера одного сайтадля WEB-сервера
Задача: Нужно разделить состояние сессии, которое обычно подтягивается (извлекается для запроса) по ключу в Cookie.
Так как сессионные коки общие для всех вкладно одного сайта в одном окне (и общие для окон открытых по Контрол-N), то разделить сессионные данные невозможно между разными вкладками одного сайта.
Это особенно критично для корпоративных приложений.
Решение:
На данный момент решение в HTTP только одно – добавить ключк в строку запроса. То есть добавить ключ в QueryString. По этому ключу различать состояния сессий.
Замечания для ASP.NET:
Не используйте для хранения таких данных Session! Используйте Cache.
Проблема: При таком решении обновление страницы (F5) приводит к поторе ее состояний, т.к. трудно отличить открытие новой вкладки и обновление страницы. Хотя, это возможно при помощи JavaScript и Cookie.
Это было сделано более двух лет назад и тогда я перепробоавл много вариантов, но реально рабочий оказался этот.
Так как сессионные коки общие для всех вкладно одного сайта в одном окне (и общие для окон открытых по Контрол-N), то разделить сессионные данные невозможно между разными вкладками одного сайта.
Это особенно критично для корпоративных приложений.
Решение:
На данный момент решение в HTTP только одно – добавить ключк в строку запроса. То есть добавить ключ в QueryString. По этому ключу различать состояния сессий.
Замечания для ASP.NET:
Не используйте для хранения таких данных Session! Используйте Cache.
Проблема: При таком решении обновление страницы (F5) приводит к поторе ее состояний, т.к. трудно отличить открытие новой вкладки и обновление страницы. Хотя, это возможно при помощи JavaScript и Cookie.
Это было сделано более двух лет назад и тогда я перепробоавл много вариантов, но реально рабочий оказался этот.
Комментарии
Отправить комментарий