Tag: 视图状态

ViewState Vs Session …通过页面生命周期维护对象

有人可以解释一下ViewState和Session的区别吗? 更具体地说,我想知道在整个页面生命周期中保持对象可用的最佳方式(通过回发不断设置成员)。 我目前使用Sessions来做到这一点,但我不确定这是否是最好的方法。 例如: SearchObject searchObject; protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { searchObject = new SearchObject(); Session["searchObject"] = searchObject; } else { searchObject = (SearchObject)Session["searchObject"]; } } 允许我在我的页面的任何地方使用我的search对象,但是这是很麻烦的,因为如果我改变任何属性等,我必须重置我的会议变种。 我想一定有更好的方法来做到这一点,所以.NET不会重新实例化对象,每次页面加载,但也把它放在Page类的全球范围内?

我应该忽略偶尔的无效viewstate错误?

每隔一段时间(每天一次),我们在ASP.NET 3.5应用程序的日志中看到以下types的错误 无效的视图状态 回发或callback参数无效 这些事情是否会随时随地通过ASP.NET应用程序发生? 有人会build议我们花费大量的时间来尝试诊断是什么原因造成的问题?

caching与会话的优点

在Session vs Cache中存储数据表有什么区别? 有什么优点和缺点? 所以,如果它是一个简单的search页面,返回一个数据表格的结果,并将其绑定到一个gridview。 如果用户'a'search和用户'b'search,将它存储在Session中是否更好,因为每个用户最有可能具有不同的结果,或者我仍然可以将他们的每个search存储在Cache中,或者是没有意义的,只有一个caching。 我想基本上我想说的是Cache会被覆盖。