NetAdvantage控件AsyncRefreshPanel使用ViewState压缩

实际情况:

使用NetAdvantage的AsyncRefreshPanel控件来做的Ajax,在回传的时候有相当多的ViewState(我想微软的UpdatePanel也会有相同的问题);

有时回传的ViewState达到30K以上; 如果网速慢,用户体验是很大的问题。


1.有人说:

Don't use viewstate compression! Use http compression instead!

http://bloggingabout.net/blogs/ramon/archive/2006/09/01/Don_2700_t-use-viewstate-compression_2100_-Use-http-compression-instead_2100_.aspx

 

2.实际情况是,HTTP压缩我开启了,但Postback的时候,Http还有作用么?我想是不会起作用的。

 

3.一般的ViewState压缩会使用自己设置隐藏域来实现:

ViewState Compression

http://www.codeproject.com/KB/viewstate/ViewStateCompression.aspx

压缩ASP.NET中的ViewState的改进方法

http://www.cnblogs.com/mack/archive/2005/07/28/202235.html

 

4.自己设置的隐藏域,AsyncRefreshPanel更新ViewState时会找不到(可能微软UpdatePanel也有同样问题);

所以最好还是使用原有的ViewState。但这位朋友说可能会遇到FormatException:

压缩ViewState后,在Convert.FromBase64String时偶尔会发生FormatException

http://topic.csdn.net/u/20081216/18/3d4426f8-6070-4544-a03b-5a9f7b5e2d27.html

 

5.实际测试了4的代码,暂时未发生FormatException,在AsyncRefreshPanel里工作正常。

但性能具体提升多少没有仔细测试。

 

6.综合一下:

*可配置是否压缩;

*可配置最小压缩值;

*不改变隐藏域,使用原隐藏域。

 

7.改天有时间再发详细测试结果。

转载于:https://www.cnblogs.com/nonlyli/archive/2009/02/07/1385861.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值