1

我在两页之间有会话空。

一.asp

<%
 session("one") ="x"
 response.write session("one") ' this prints out x
 %>

如果我在 one.asp 之后调用 two.asp

二.asp

<%
 response.write session("one") ' this prints out nothing
 %>

什么都没有打印出来。这不是缓存问题。实际上,只有当我使用我在 IIS 绑定中设置的新主机名调用页面时才会发生这种情况(我在 windows server 2008 上使用 IIS7)

http://newhostname/one.asp and http://newhostname/two.asp

如果我使用我的机器名称

http://mymachine/one.asp and http://mymachine/two.asp

一切正常,页面 two.asp 按预期打印出 x

你知道问题可能是什么吗?谢谢

4

2 回答 2

0

打开 IIS 管理器并导航到要管理的级别。有关打开 IIS 管理器的信息,请参阅打开 IIS 管理器 (IIS 7)。有关导航到 UI 中的位置的信息,请参阅 IIS 管理器中的导航 (IIS 7)。

在功能视图中,双击 ASP。在 ASP 页面上的服务下,展开会话属性。

从启用会话状态下拉列表中选择 True。

在“操作”窗格中,单击应用。

于 2013-02-24T02:29:54.573 回答
0

two.asp如果页面在被拉取之前已经闲置了很长时间,那么会话可能已经过期。

如果浏览器已关闭,则会话标识已更改,从而导致会话关闭。

如果这两个页面位于不同的域(包括子域)上,则它们没有相同的会话标识,这会导致会话永远不存在two.asp

于 2012-11-23T16:40:33.297 回答