相关疑难解决方法(0)

经典ASP:Cookie中的多个ASPSESSIONID

我有一个经典的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中.

只需执行以下操作即可重新创建问题:

  1. 完全关闭IE8或IE9
  2. 启动IE8或IE9并打开http://www.pfiffikus.at/pfiffikus/tests/
  3. 页面加载后立即刷新页面多次

如果您重复此步骤,则随机(并非总是)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)

iis cookies session iis-6 asp-classic

12
推荐指数
3
解决办法
2万
查看次数

标签 统计

asp-classic ×1

cookies ×1

iis ×1

iis-6 ×1

session ×1