清空Session

清空一個Session

Session["name"]="";

不再使用一個Session

Session["name"]=null;

session.abandon 銷燬Session對象,釋放內存   
Session.Contents.Remove("mysession") 清除Session對象的內容,但Session對象任然存在   
Session.Contents.ClearAll 清除所有Session對象的內容   

Session對象的Contents.Remove("變量名")和Contents.Removeall()方法與Application對象的基本上沒什麼區別,爲幫助理解,大家可以參照上面的例子將Application改爲Session。這裏要說明一下的是Contents.Removeall()和Abandon()的區別,執行這兩個方法都會釋放當前  用戶會話的所有Session變量,不同的是Contents.Removeall()單純地釋放Session變量的值而不終止當前的會話,而Abandon()除了釋放Session變量外還會終止會話引發Session_OnEnd事件,希望大家注意兩者的區別。

Session的清空問題 
沒法簡單說,各位只好忍着點,耐心點看看了~ 
如果看這個太累,可以用QQ或者 MSN直接問,先謝謝各位了 ~~`` 
QQ:93239847 MSN:[email protected] 
導航欄上有個內部辦公(flash做的),點擊進入頁面(其中也有導航欄),首先用session進行判斷,如果是已經登陸的繼續,否則轉到登陸頁面,登陸成功將值session保存下來,再轉到管理頁面,在管理頁面中有個”退出系統”,點擊後將session值清空,轉到首頁.這是比較簡單的一般的判斷方法,用了n久,沒有問題~. 
一、當我進入管理頁面時,點擊退出系統後轉到首頁,然後再點擊”內部辦公”,進去後,操作完畢後,點”退出系統”,轉到首頁,再點內部辦公,彈出登陸頁面,,~ 
二、當我進入管理頁面時再點內部辦公,再點退出系統,轉到首頁,問題來了,再點擊內部辦公,進去了~~~~如果再刷新一次,就會彈出登陸頁面.奇怪~ 
也就是說,這個登陸頁面晚來了一點~~ 

本人以嘗試如下: 
將session值輸出,在管理頁面的最開始處,設置了一個輸出口 
首頁上設置了一個輸出口: 
然後我以上面的第二種方式操作,就是多點一次內部辦公,結果爲首頁上的session爲空了,但是點擊內部辦公session依然有值, 
換個session變量,從頭到尾判斷一遍,無效~ 
將session的清空直接寫在首頁,無效 
改變session的清空方式 
1、 session.abandon() 
2、 set session(“var”)=”” 
3、 session(“var”)=”” 
--------------------------無效 
改變頁面的跳轉方式,response.redirect,location.href,window.open---無效 
還有很多測試記不住了 現在很是奇怪~~ 

從上面的很多測試中我想問:是不是跟flash有關;頁面是以包含方式寫的,就是導航欄是一個top.asp ,然後 其他文件include it。是不是跟這也有關 
還有一點,相同的代碼,相同的頁面結構在另一個flash上沒有問題~~~` 
昨天技術主管幫我弄了將近兩個小時也搞不懂是爲什麼~~~``   

應該是緩存沒清空把 

你在頁面前面加 

response.Expires=-1 
response.AddHeader "Pragma","no-cache" 
response.AddHeader "cache-control","no-store" 

清空下呢  

Response.Buffer = True 
Response.ExpiresAbsolute = Now() - 1 
Response.Expires = 0 
Response.CacheControl = "no-cache" 
Response.AddHeader "Pragma", "No-Cache"

這個問題如果你換個用戶登陸,不清空內存可能會沒管理員權限的進入看到管理員的界面(如果剛纔是管理員登陸),所以基本上要在很多頁面前清空緩存

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章