2010-06-29 187 views
0

在PageA.asp我設置會話變量像這樣ASP會話變量丟失

Session("affiliate") = "xyz.com" 

當我點擊一個鏈接,去PageB.asp該會話變量將不再存在。

我有其他會話變量,它們持續在頁面上。我可以在PageA.asp上響應。寫入我的會話varriable,所以我知道它被正確創建。

幾個月前我有這個問題。我想清楚了,現在又有一段時間我的修復被覆蓋了。現在,我處於全面虧損狀態。

在此先感謝。

+0

哪您使用的是IIS版本? – 2010-06-29 21:37:11

回答

0

無論我做了什麼,會話變量都會在response.redirects上丟失。我最終使用了一個cookie。

+0

你怎麼最終使用cookie? – 2018-02-10 07:24:33

1

您可能在您的站點的其他地方清除變量。

+0

頁面A很奇怪,大約有20個會話變量。 在pageB上大約有12個會話變量。 這8個會話變量去哪裏? – s15199d 2010-06-29 20:16:05

+0

每個會話變量需要5kb +乘以20是每個瀏覽器0.5mb。也許你沒有足夠的內存在你的服務器上,一些變量正在丟失..他們總是一樣會丟失?還是會不時變化? – 2010-07-06 14:17:13

0

PageB.asp在同一個域上?跨域會話將無法工作。除非您重置或清除內容,否則相同的域會話不應清除。

你有填充會話的代碼嗎?

+0

他說其他會話變量正在工作..所以我們猜測它是在同一個域名..但問題被問到,如果不是真的願意的答案.. – 2010-07-06 14:07:13

0

如果其他會話變量仍然可用在PageB.asp比這個應該工作以及..

,除非

  1. 你已設置爲過期快。
  2. 您在pageB.asp的會話變量名稱中存在拼寫錯誤。將pageA粘貼到pageB。

沒有看到有關從pageA的和頁面B會話變量的代碼及其挺難猜測..

爲關於會話變量的損失您的評論嘗試:

<% 
dim i 
For Each i in Session.StaticObjects 
    Response.Write(i & "<br />") 
Next 
%> 

這應列出會話中存儲的所有對象

1

還有一個問題是我不久前發現的。 如果你是二〇〇八年至2003年服務器(IIS6-7)然後確保你沒有使用任何其他端口,但80

出於某種原因,最新版本的IIS失去對重定向會話中,如果網站設置爲使用任何其他的但80.

我向微軟提交了錯誤報告,但到目前爲止他們沒有告訴他們他們將如何或如何解決這個問題。

0

對於IIS6我們的主要會話殺手是負載平衡器。此修復程序將轉換爲IIS 7.它處理平衡服務器之間的會話。是的,我們把餅乾的東西放在餅乾裏也是爲了處理它。

-1

嘗試將「Web Garden」工作進程限制爲1。

在這裏找到:

「IIS Mananger」 - > 「應用程序池」 - > 「屬性」 - > 「性能」 選項卡 - > 「的工作進程的最大數量」