如果你有在IE中查看当前浏览页面HTML源代码的习惯,你也许常会看到类似以下的代码片断:
Machine级 在machine.config中设置
Application级 在Web Applicatin的web.config中设置
单页面级 在该页面中设置<%@Page enableViewStateMac='false' %>或通过代码设置Page.EnableViewStateMac = false;
可是,如果我们完全能通过禁用ViewState来解决数据传输负担而且不产生副作用的话,那MS的架构师们也不会傻到如此可爱的地步(可有可无的东东留它何用?),正因我们往往不能通过简单的禁用来解决这个传输负担问题,所以我们只能另辟路径使之在网络往返中传输量尽可能地小,于是,压缩成了我们的首选。只要我们重载Page类的SavePageStateToPersistenceMedium()方法与LoadPageStateFromPersistenceMedium()方法,并在重载方法中对数据进行压缩与解压的处理即可。开源项目SharpZipLib提供的类GZipInputStream与GZipOutputStream进入了我们的视野,为了方便,不妨写个类CompressionHelper,代码如下:
1using System.IO;
2using ICSharpCode.SharpZipLib.GZip;
3
4namespace Ycweb.Components
5{
6 /**////
7 /// Summary description for CompressionHelper.
8 ///
9 public class CompressionHelper
10 {
11 public CompressionHelper()
12 {
13 //
14 // TODO: Add constructor logic here
15 //
16 }
17
18 /**////
19 /// 压缩数据
20 ///
21 /// 待压缩的字节数组
22 ///
23 public static byte[] CompressByte(byte[] data)
24 {
25 MemoryStream ms = new MemoryStream();
做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。

