Application、Session、ViewState、request、cookie、靜態全局變量的區別

http://www.cnblogs.com/sunxf2011/archive/2011/08/05/2129111.html


問題:

最新剛開始接觸b/s項目,對application、session、ViewState、request、cookie、靜態全局變量等
的機制感覺很混亂,不知道該用哪一個,不知道它們的生命週期是多長,是不是隨時都可以獲取它們保存的值,會不會出現丟失的情況?能說說它們各自的機制嗎?
我在寫代碼時,很多地方都是直接獲取Request.QueryString中的值,但是同事說最好在Page_Load中用hidden控件保存Request.QueryString中的值,防止丟失,是這樣嗎?我不能在需要時,直接獲取Request.QueryString中的值嗎?請各位高手指教一下,謝謝!!

回答:

1.application變量是每個用戶都能訪問的變量,生命週期是關機或重啓系統結束.

2.session是服務端的用戶變量,也就是不同的訪問者的session變量是不能互相訪問的,
  生命週期默認是20分鐘,所謂這個生命週期就是說20分鐘不去訪問這個網站,session就結束,
  當然這個時間是可自行設置的.

3.cookie是客戶端的變量,不同的訪問者的cookie變量是不能互相訪問的,這個cookie變量可保存在客戶端,
  最長間可設置爲一年.

4.所爲Request.QueryString,就是在url後寫變量值傳給一個網頁,網頁關閉這個變量也就結束.

5.ViewState頁面級的變量,用於保存本頁面的一些值,頁面關閉生命也就結束.

6.所謂靜態變量或靜態的方法是常住內存的,任何地方都可以通過類名來使用.

一般來說,頁面和頁面傳遞變量值通過"session"或"cookie"或"url後寫變量值"這三種方式.

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