2011-04-06 85 views
1

我在与会话和Cookies在传统的ASP的一个大问题。会话/ Cookie不能得到设定(会后,重定向)

我有 “a.asp” 在这里我设置Session("step") = "1"。这工作,当我打电话给我的“test.asp”我<%=Session("step")%>我得到“1”。

然后我提交一份关于“a.asp”到“process.asp中”在这里我设置基础上,提交的表单值以外的会话变量的形式。最后我重定向到“b.asp”。

关于“b.asp”,我检查Session("step") = "1"是否为“2”,如果是“1”,那么将其设为“2”,否则重定向到“a.asp”。我在页面上写Session("step"),它说“2”,但是当我打电话给“test.asp”时,它说“1”。

似乎网页本身得到了正确的值,但重新加载或任何其他页面都忽略了会话/ cookie值的更改。

试用相同的饼干(Response.Cookies("step")/Request.Cookies("step")),我得到了同样的结果。

页面全部位于同一个文件夹中,IIS上只有1个工作线程。

为什么会和饼干都没有得到仅有想不通。任何建议感激!

回答

1

(似乎无法评论,但需要一些澄清会编辑/删除这个答案,因为适当反正....。)

可能是一个缓存的问题:

  • 您是否尝试过CTRL + F5以确保您的浏览器正在重新加载。
  • 尝试在其他浏览器中,我发现Firefox和Chrome有时会忽略强制高速缓存刷新,或尝试在“私有”模式下尝试。
  • 您的主机是否有负载平衡器或缓存系统?添加一个随机查询字符串到每个请求test.asp以确保。
  • 您可以强制无缓存,但是一些浏览器,互联网服务提供商和主机托管服务提供商忽略它反正...

Response.Expires = 0 
Response.AddHeader "pragma","no-cache" 
Response.AddHeader "cache-control","private" 
Response.CacheControl = "no-cache" 

道歉,如果你已经尝试了所有这些,宁愿问一个快速的评论!