Загрузка одного сеанса в 2 фреймах в одном домене - PullRequest
0 голосов
/ 25 ноября 2010

У меня есть требование иметь несколько фреймов на одной странице, чтобы все они взаимодействовали друг с другом. Способ размещения нашего приложения требует, чтобы эти iframes работали в одном сеансе, чтобы обмениваться данными о том, что было выбрано и т. Д. С другими.

Проблема заключается в загрузке первой страницы, оба фрейма загружают URL-адрес, который, очевидно, не содержит cookie-файла сеанса в запросе. Таким образом, оба фрейма создают новую сессию и помещают в нее свои данные. Однако они оба затем отправляют свои файлы cookie сеанса, и последний запрос перезаписывает предыдущие. После этого оба iframe используют один и тот же сеанс, но только последний загруженный iframe содержит действительные данные сеанса.

Если я обновляю страницу «контейнер», все работает нормально (потому что сессионный cookie действителен).

К сожалению, из-за ограничений в приложении-контейнере мы не можем указать явный порядок загрузки там. Уже думал об этом решении ...

1 Ответ

0 голосов
/ 25 ноября 2011

Так что у меня все получилось (я действительно должен был опубликовать это год назад) ...

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

Любые запросы, поступающие в то время, когда № 1 все еще выполняется с задержкойв OnBeginRequest, пока # 1 не будет инициализирован сеанс.Когда # 1 инициализирует свой сеанс, он обновляет общий экземпляр с информацией о сеансе, а затем освобождает все другие потоки.

Работает хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...