2011-04-06 70 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" 

道歉,如果你已經嘗試了所有這些,寧願問一個快速的評論!