我有一个带有列表框控件的aspx页面。列表框是从加载页面时从服务检索的集合填充的。当用户从列表框中选择一项时,页面回发,在重新加载之前将检索到的对象添加到会话中。在重新加载时,我使用会话对象,而不必再次调用服务。
这一切都很好,直到我从iFrame中访问页面。当页面在iFrame中时,不检索会话对象(会话“blah”为空)。当页面不在iFrame中时,此代码可以很好地工作。
我使用的是IIS7和windows server 2008。为了允许在iFrame中使用会话变量,我需要在ISS中做些什么吗?有没有人知道其他可能导致这种情况发生的事情?
谢谢,尼尔
发布于 2011-06-23 16:45:52
实际上不要紧,我只是清空了C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files
中的文件并重新启动了IIS,一切都正常
发布于 2011-06-16 17:34:13
IE对iframe中加载的第三方内容给予较低级别的信任。这会阻止会话cookie。
您可以通过在IIS中设置P3P头来解决此问题:
Name = p3p
Value = CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"
另请参阅
发布于 2020-02-05 08:37:04
在我的例子中,项目是.net框架4.6.1。我已经升级到4.7.2版本,并将以下密钥添加到web.config
<system.web>
<sessionState cookieSameSite="None"/>
这样,第三方Iframe会话就可以开始工作了。
在进行此更改之前,最好先阅读此https://docs.microsoft.com/en-us/aspnet/samesite/system-web-samesite
https://stackoverflow.com/questions/6368750
复制相似问题