ASP.Net 2.0&UP ViewState丢失问题
没有仔细研究过ViewState,最近出现的问题让人头痛不已。
ViewState会在某些特定情况下消失,且很难捕捉到。查了一些技术文章,都是说ViewState的机制是将信息存在页面的hidden input里面,似乎不可能存在这些问题,给出的理由无非是在某个地方被某个不小心的程序员给禁掉或清除掉了。但找了很久也没找到这个地方......
一个偶然的机会看到了一篇关于ViewState机制的文章,当看到下面这段文字时顿时豁然开朗
----------------------------我是分割线-------------------------------------------------------------------------
呵呵,有的。从APS.NET2.O开始,微软为我们提供了!顾名思义,这个类可以将VIEWSTATE存储在Session中,而不是Hidden Input中。这可以用于大数量级的VIEWSTATE处理,它的实现也异常简单
---转自“自由飞” http://www.cnblogs.com/freeflying/archive/2010/01/03/1638264.html
----------------------------我是分割线-------------------------------------------------------------------------
果然在基类中找到了如下方法:
///设置 ViewState对象 保存在Session中
protected override PageStatePersister PageStatePersister
{
get
{
return new SessionPageStatePersister(this);
}
}
原来自从2.0以来,多了一种选择,可以将ViewState信息存到Session中,Session和页面相比具有安全、节省带宽资源等好处、减少客户端资源消耗,但是但是但是缺点也不少。由于实际保存在Session中,Session的所有缺点都会具备。如果没有个好的Session管理车略极容易出现丢ViewState丢失的情况。
所以大家在选择ViewState的保存机制时要小心啊。除非必要建议还是用它本来的方式吧。
///设置 ViewState对象 保存在页面中
protected override PageStatePersister PageStatePersister
 
相关文档:
1.什么是cookie?
cookie 是一小段文本信息,伴随用户请求,在web服务器和浏览器之间传递。用户每次访问站点的时候,
web应用程序都可以读取cookie包含的信息。
假设在用户请求您的网站的某个页面时,您的应用程序不仅是返回请求的页面。同时也返回一个包含日期
和时间的cookie。用户的浏览器在获得页面的同时也获得了 ......
使用ASP.Net Forms模式实现WebService身份验证
在安全性要求不是很高的ASP.Net程序中,基于Forms的身份验证是经常使用的一种方式,而如果需要对WebService进行身份验证,最常用的可能是基于Soap 标头的自定义身份验证方式。如果对两者做一下比较的话,显然,基于Forms的验证方式更加方便易用,能否将F ......
/// <summary>
/// 过滤标记
/// </summary>
/// <param name="NoHTML">包括HTML,脚本,数据库关键字,特殊字符的源码 </param>
/// <returns>已经去除标记后的文字</returns>
&nbs ......
using System;
using System.Collections;
using System.ComponentModel;
using System.Web;
using System.Web.SessionState;
using System.Timers;
using System.Data;
using System.Data.SqlClient;
namespace SMS_joke
{
/// <summary>
/// Global 的摘要说明。
/// </summary>
public class ......