请有人向我解释ViewState,应用程序和页面会话之间的区别吗?
答案 0 :(得分:9)
快速一个衬垫 - 如果您想要更多细节,请询问
ViewState是保存页面当前状态的变量,该状态保存在页面的隐藏字段中(经常使用)
ApplicationState是一个变量,您可以在应用程序的生命周期中存储值(可能会定期循环,并且在您不知情的情况下)(使用频率较低)
会话是您可以写入的变量,从他们访问您的网站到关闭浏览器之前一直存在。 (除非有任何超时)。 (经常使用)
答案 1 :(得分:7)
一篇好文章: How to Choose From Viewstate, Session, Application, Cache, and Cookies
关于Session和Viewstate之间差异的一些很好的讨论:Session Vs ViewState
答案 2 :(得分:2)
会话状态保存在服务器上。 会话状态通常在用户不活动一段时间后被清除。 可以持久存储在内存中,这使其成为一种快速解决方案。这意味着无法在Web场/ Web园中共享状态。 可以保存在数据库中,对Web Farms / Web Gardens很有用。 在会话终止时清除 - 通常在不活动20分钟后清除。
ViewState 保存在页面中。 视图状态在后续帖子中发布在隐藏字段中。 在服务器和客户端之间来回发送,占用带宽。 没有失效日期。 在Web场/ Web园中很有用
答案 3 :(得分:1)
SESSION变量存储在服务器上,可以包含任何类型的数据,包括引用,它们类似于Windows应用程序中的全局变量,并使用HTTP cookie存储用于查找用户会话变量的键。
VIEWSTATE变量存储在浏览器中(而不是cookie),但存储在浏览器的隐藏字段中。 Viewstate也只能保存字符串数据或可序列化的对象。
答案 4 :(得分:1)
当我们使用视图状态来设计Web应用程序时,它会保持其状态始终保持在当前位置。如果我们使用session,那么它不会保留它的状态,所以当我们刷新浏览器时,它会从初始页面开始。