为什么 ViewStates 而不是 Sessions
why ViewStates instead of Sessions
为什么我们要在ViewState
中存储数据?即使我们有 Session
人做同样的工作?
Session["Data"]
对比
ViewState["Data"]
有什么区别?
Session
数据仅在当前会话处于活动状态时有效。通常服务器会在半小时左右后删除会话。 ViewState
可用,即使会话已过期并且屏幕上仍有页面。该内容在视图中序列化,每次打开页面时都会通过网络发送,或发送回 form
。
另一件事是:当您有一个页面的多个实例时,您希望在其中保留一个名称,例如,您不希望表单的两个打开实例共享相同的变量。相反,您将它保存在视图中,您可以在视图中为该页面提供它,并且仅该页面可用。
ViewState应用于您当前所在的页面,并作为隐藏字段存储在客户端机器上__ViewState,并使用Base64加密
虽然 Session 存储在服务器上并在整个用户会话范围内,但当用户离开您的站点并且会话过期(默认情况下 20 分钟不活动)或您明确调用 Session.Abandon() 例如注销时
使用session的时候要注意不要包含大对象,当有更多的active session时,memoru会被填满。
并且在将大对象与 ViewState 一起使用时要小心,因为它存储在客户端上并以 post 的方式来回移动。
**Session**
Session state is maintained in session level.
Session state value is available in all pages within a user session.
-
Session state information stored in server.
-
Session state persist the data of particular user in the server.
This data available till user close the browser or session time
Completes.
-
Session state used to persist the user-specific data on the server
Side
查看状态
View state is maintained in page level only.
View state of one page is not visible in another page.
View state information stored in client only.
View state persist the values of particular page in the client
(browser) when post back operation done.
为什么我们要在ViewState
中存储数据?即使我们有 Session
人做同样的工作?
Session["Data"]
对比
ViewState["Data"]
有什么区别?
Session
数据仅在当前会话处于活动状态时有效。通常服务器会在半小时左右后删除会话。 ViewState
可用,即使会话已过期并且屏幕上仍有页面。该内容在视图中序列化,每次打开页面时都会通过网络发送,或发送回 form
。
另一件事是:当您有一个页面的多个实例时,您希望在其中保留一个名称,例如,您不希望表单的两个打开实例共享相同的变量。相反,您将它保存在视图中,您可以在视图中为该页面提供它,并且仅该页面可用。
ViewState应用于您当前所在的页面,并作为隐藏字段存储在客户端机器上__ViewState,并使用Base64加密
虽然 Session 存储在服务器上并在整个用户会话范围内,但当用户离开您的站点并且会话过期(默认情况下 20 分钟不活动)或您明确调用 Session.Abandon() 例如注销时
使用session的时候要注意不要包含大对象,当有更多的active session时,memoru会被填满。
并且在将大对象与 ViewState 一起使用时要小心,因为它存储在客户端上并以 post 的方式来回移动。
**Session**
Session state is maintained in session level.
Session state value is available in all pages within a user session.
-
Session state information stored in server.
-
Session state persist the data of particular user in the server.
This data available till user close the browser or session time
Completes.
-
Session state used to persist the user-specific data on the server
Side
查看状态
View state is maintained in page level only.
View state of one page is not visible in another page.
View state information stored in client only.
View state persist the values of particular page in the client
(browser) when post back operation done.