Nei*_*eil 2 asp.net session iis-7
我有一个带有列表框控件的aspx页面.列表框是从页面加载时从服务检索的集合中填充的.当用户从列表框中选择一个项目时,页面会回发,在重新加载之前将检索到的对象添加到会话中.在重新加载时,我使用会话对象而不必再次调用服务.
这一切都正常,直到我从iFrame中访问该页面.当页面在iFrame中时,不会检索Session对象(Session ["blah"]为null).当页面不在iFrame中时,此代码可以正常工作.
我正在使用IIS7和Windows Server 2008.在ISS中我是否需要做任何事情以允许在iFrame中使用Session变量?有没有人知道可能导致这种情况发生的任何其他事情?
谢谢,尼尔
mik*_*ika 10
IE为iframe中加载的第三方内容提供较低级别的信任.这会阻止会话cookie.
您可以通过在IIS中设置P3P标头来解决此问题:
Name = p3p
Value = CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"
Run Code Online (Sandbox Code Playgroud)

就我而言,该项目是 .net framework 4.6.1。我已经升级到 4.7.2 版本并将下面的密钥添加到 web.config
<system.web>
<sessionState cookieSameSite="None"/>
Run Code Online (Sandbox Code Playgroud)
这样第三方 Iframe 会话开始工作。
在进行此更改之前,最好阅读此 https://docs.microsoft.com/en-us/aspnet/samesite/system-web-samesite
其实没关系,我只是清除了其中的文件C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files并重新启动 IIS,一切正常
| 归档时间: |
|
| 查看次数: |
12866 次 |
| 最近记录: |