我有一个经典的asp页面的问题,我从3天后就无法解决它.
该页面正在使用Sessions - 有时会发生ASPSESSIONID cookie在Request.ServerVariables("HTTP_COOKIE")中设置两次.这会导致ASP页面在刷新页面时在两个Sessions之间跳转.
我编写了一个测试页面,输出当前的SessionId,服务器软件和HTTP_COOKIE值.
样本输出:
会议ID:308542840
会话超时:20分钟
服务器软件:Microsoft-IIS/6.0
HTTP_COOKIE:ASPSESSIONIDQCBATRAD = MBHHDGCBGGBJBMAEGLDAJLGF; ASPSESSIONIDQCCDTTCB = PGHPDGCBPLKALGGKIPOFIGDM
为什么有两个ASPSESSIONID?当我刷新页面时,它随机输出两个会话ID中的一个.
这是一个在IE9中显示问题的截屏视频:http: //prinz-alexander.at/asp_test.avi
此错误通常发生在ie8和ie9中.
只需执行以下操作即可重新创建问题:
如果您重复此步骤,则随机(并非总是)HTTP_COOKIE将填充两个不同的ASPSESSIONID.
asp测试文件只输出mentiod值,源代码中没有其他任何内容.
这是asp测试文件的代码:
<% If trim(Session("test_val")) = "" Then
Dim my_num
Randomize
number = Int((rnd*1000))+1
Session("test_val") = number
End If
%>
<b>Session ID:</b>
<% response.write(Session.SessionId) %><br /><br />
<b>Session("test_val"):</b>
<% response.write(Session("test_val")) %><br /><br />
<b>Session Timeout:</b>
<% response.write(Session.Timeout) %> minutes<br /><br />
<b>Server Software:</b>
<% response.write(Request.ServerVariables("SERVER_SOFTWARE")) %><br /> <br />
<b>HTTP_COOKIE:</b> <% response.write(Request.ServerVariables("HTTP_COOKIE")) …Run Code Online (Sandbox Code Playgroud)