我的 Session 变量没有在托管在 iis 服务器 8 上的经典 asp webPages 中初始化,我已经在会话状态功能视图以及 IIS 服务器 8 的 ASP 调试属性部分中配置了会话属性,
在将我的整个网站从带有 IIS7 的 Windows server 2008 r2 转移到带有 IIS8 的 Windows server 2012 r2 之后,请帮助我面对这个问题
在 IIS 7 上,我没有遇到有关此会话变量初始化的任何问题
任何帮助,将不胜感激
提前致谢
我的 Session 变量没有在托管在 iis 服务器 8 上的经典 asp webPages 中初始化,我已经在会话状态功能视图以及 IIS 服务器 8 的 ASP 调试属性部分中配置了会话属性,
在将我的整个网站从带有 IIS7 的 Windows server 2008 r2 转移到带有 IIS8 的 Windows server 2012 r2 之后,请帮助我面对这个问题
在 IIS 7 上,我没有遇到有关此会话变量初始化的任何问题
任何帮助,将不胜感激
提前致谢
您需要在 IIS7/IIS8 中的经典 asp 下启用会话状态。
打开 IIS 管理器。导航到您正在处理的站点。在右侧双击 ASP。单击会话属性 + 以显示所有选项。将启用会话状态更改为 true。
我有同样的问题。就我而言,网站没有 cookie。我不为我的 websie 使用 SSL 证书,并且<httpCookies requireSSL="true" />
在 section 中存在代码system.web
。在我将其更改为<httpCookies requireSSL="false" />
我的问题解决之后。
如果 IIS 设置中的会话状态是 ok 的,请检查以确保您没有使用session.Abandon()
,因为调用此方法时,当前 Session 对象不会被删除,直到当前页面上的所有脚本都被处理完。这意味着可以访问与调用 Abandon 相同的页面上的会话变量,但不能从另一个 Web 页面访问,也不能在您计划使用会话对象在两个页面之间传输数据时访问。
试试这个代码来确保变量没有被初始化:
dim i
dim j
j = Session.Contents.Count
Response.Write("Session variables: " & j & "<br>")
For i=1 to j
Response.Write(Session.Contents(i) & "<br>")
Next
上面的代码将显示是否有任何变量被初始化以及每个变量的内容。