2009-07-24 74 views

回答

9

快一個襯墊 - 如果你想了解更多的細節,只是問

ViewState的是變量它保存頁面的當前狀態,該頁面保存在頁面的隱藏字段中(經常使用)

ApplicationState是一個變量,您可以在應用程序生命週期中存儲值(可能會定期循環,而且不知道)(使用頻率較低)

會話是您可以寫入的變量,它會一直存在,直到它們到達您的網站爲止關閉瀏覽器。 (禁止任何超時)。 (經常使用)

1

SESSION變量存儲在服務器上,可以容納任何類型的數據,包括引用,它們類似於windows應用程序中的全局變量,並使用HTTP cookie存儲用於定位用戶會話變量的密鑰。

VIEWSTATE變量存儲在瀏覽器中(不是cookie),而是存儲在瀏覽器的隱藏字段中。另外,Viewstate只能保存字符串數據或可序列化的對象。

2

會話狀態保存在服務器上。 會話狀態通常會在用戶不活動一段時間後清除。 可以堅持在內存中,這使得它成爲一個快速的解決方案。這意味着狀態不能在Web Farm/Web Garden中共享。 可以保存在數據庫中,可用於Web Farms/Web Gardens。 會話死亡時清除 - 通常在閒置20分鐘後。

ViewState保存在頁面中。 視圖狀態在以後的帖子中發佈在隱藏字段中。 在服務器和客戶端之間來回傳送,佔用帶寬。 沒有到期日期。 在Web Farm/Web Garden中很有用

1

當我們使用視圖狀態來設計一個web應用程序時,它會一直保留它的狀態,並保持它的當前位置。如果我們使用會話,它不會保留它的狀態,所以當我們刷新瀏覽器時,它從最初的頁面開始。

2

總之,區別如下

視圖狀態:

1. ViewState的一個網頁表單的僅適用於在該網絡表單

2.視圖狀態存儲在頁面中的一個名爲_ViewState的隱藏字段中。 因此,如果您從頁面導航,或者如果關閉了瀏覽器,ViewState將會丟失。

ViewState是由所有asp.net控制跨回傳保持其狀態

會話狀態:

會話狀態變量在所有頁面可用,但只限於給定的單一會話。會話變量就像單用戶全局數據。

2.會話狀態變量存儲在Web服務器上。

3.當用戶會話超時時,會清除SessionState變量。默認值是20分鐘。這是在web.config中配置

應用程序狀態:

1.應用程序狀態變量在所有頁面和所有會話使用。應用程序狀態變量就像多用戶全局數據。

2.應用程序狀態變量存儲在Web服務器上。

3.當託管應用程序的進程重新啓動時,將清除應用程序狀態變量。

相關問題