我在经典ASP中遇到了Session和Cookies的大问题。
我有“a.asp”,我设置了Session("step") = "1"
。这是有效的,当我调用我的“test.asp”时我会<%=Session("step")%>
得到“1”。
然后我将“a.asp”上的表单提交到“process.asp”,我根据提交的表单值设置其他会话变量。最后我重定向到“b.asp”。
在“b.asp”上,我检查是否为Session("step") = "1"
,如果为“1”则将其设置为“2”,否则重定向为“a.asp”。我在页面上写了Session("step")
,然后写了“2”,但当我打电话给“test.asp”时,它说的是“1”。
似乎页面本身得到了正确的值,但重新加载或任何其他页面忽略了会话/ cookie值的更改。
尝试使用Cookie(Response.Cookies("step")
/ Request.Cookies("step")
)并获得相同的结果。
页面都在同一个文件夹中,IIS上只有一个工作线程。
无法弄清楚为什么会话和cookie没有设置。任何建议表示赞赏!
答案 0 :(得分:1)
(似乎无法评论,但需要一些澄清。将根据需要编辑/删除此答案。无论如何....)
可能是一个缓存问题:
Response.Expires = 0
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
道歉,如果你已经尝试了所有这些,宁可问一下快速评论!