您目前已離線,請等候您的網際網路重新連線

PRB: 工作階段變數時將會遺失 ASP 位於框架組

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:178037
徵狀
當您嘗試存取值從該框架組內其他 ASP 網頁的動態伺服器網頁 (ASP)] 頁面中定義的工作階段變數是空的。
發生的原因
網際網路總管 4 x 和 5 無法裝載在相同的處理序中的框架組的不同框架。因為依存於位於裝載處理序的記憶體中的 Cookie ASP 工作階段,不同的處理程序會導致不同的工作階段 Cookie 以及因此,不同的工作階段。
解決方案
如果您的應用程式必須支援網際網路總管 4 x 或 Internet Explorer 5,那麼您應該以 Cookie 取代工作階段變數。請確定該 Cookie 有到期日。這將導致 Cookie 寫入至磁碟。不論框架裝載在哪個處理程序,所有框架將 Cookie 資訊從都收集相同的位置在磁碟上。

比方說取代下列程式碼
  Session("MyVariable") = "MyValue"				
與:
  Response.Cookies("MyVariable") = "MyValue"  Response.Cookies("MyVariable").Expires = Now() + 1 '24 hours				
注意任何輸出傳送串流到瀏覽器之前,必須被寫入 Cookie。您可能也需要啟用輸出緩衝以下列程式碼在頁面上:
<%@ Language=VBScript %><%Response.Buffer = True%>				
IIS 5.0 ASP 網頁都已預設啟用緩衝處理的輸出。IIS 4.0 ASP 網頁不這樣做。

注意:這個問題已經解決與網際網路總管 5.5。
参考
如需詳細資訊按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
196383FIX: 由指令碼所開啟的 Windows 驗證或遺失工作階段

警告:本文為自動翻譯

內容

文章識別碼:178037 - 最後檢閱時間:06/24/2004 15:59:25 - 修訂: 4.1

Microsoft Active Server Pages 4.0, Microsoft Internet Information Server 4.0, Microsoft Internet Information Services 5.0, Microsoft Internet Explorer 4.0 128-Bit Edition, Microsoft Internet Explorer 4.01 Service Pack 2, Microsoft Internet Explorer 4.01 Service Pack 1, Microsoft Internet Explorer 4.01 Service Pack 2, Microsoft Internet Explorer 5.0

  • kbmt kbaspobj kbcodesnippet kbprb kbscript KB178037 KbMtzh
意見反應