Переменные сеанса не сохраняются, когда страница находится в iFrame - PullRequest
2 голосов
/ 16 июня 2011

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

Это все работает нормально, пока я не получу доступ к странице из iFrame.Объекты Session не извлекаются, когда страница находится в iFrame (Session ["blah"] имеет значение null).Этот код прекрасно работает, когда страница не находится в iFrame.

Я использую IIS7 и Windows Server 2008. Нужно ли что-то делать в ISS, чтобы разрешить использование переменных сеанса в iFrame?Кто-нибудь знает что-нибудь еще, что может вызвать это?

Спасибо, Нил

Ответы [ 3 ]

10 голосов
/ 16 июня 2011

IE обеспечивает более низкий уровень доверия к стороннему контенту, загруженному в iframe.Это блокирует сеансовые файлы cookie.

Это можно решить, установив P3P-заголовок в IIS:

Name = p3p
Value = CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"

IIS settings P3P response headers

См. Также

4 голосов
/ 23 июня 2011

На самом деле ничего, я просто очистил файлы в C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files и перезапустил IIS, и все заработало

0 голосов
/ 25 октября 2016

Чтобы включить сеансы в iFrames: Параметры InterNet -> Конфиденциальность -> Дополнительно -> Проверить "Всегда разрешать сессионные куки"

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