ViewState优化——压缩技术
来源:互联网 发布:点击图片弹出视频js 编辑:程序博客网 时间:2024/05/17 01:17
private byte[] Compress(byte[] data)
{
MemoryStream ms = new MemoryStream();
GZipStream stream = new GZipStream(ms, CompressionMode.Compress);
stream.Write(data, 0, data.Length);
stream.Close();
return ms.ToArray();
}
private byte[] Decompress(byte[] data)
{
MemoryStream ms = new MemoryStream();
ms.Write(data, 0, data.Length);
ms.Position = 0;
GZipStream stream = new GZipStream(ms, CompressionMode.Decompress);
MemoryStream temp = new MemoryStream();
byte[] buffer = new byte[1024];
while (true)
{
int read = stream.Read(buffer, 0, buffer.Length);
if (read <= 0)
{
break;
}
else
{
temp.Write(buffer, 0, buffer.Length);
}
}
stream.Close();
return temp.ToArray();
}
protected override void SavePageStateToPersistenceMedium(object state)
{
//base.SavePageStateToPersistenceMedium(state);
LosFormatter formatter = new LosFormatter();
StringWriter writer = new StringWriter();
formatter.Serialize(writer, state);
string viewState = writer.ToString();
byte[] data = Convert.FromBase64String(viewState);
byte[] compressedData = Compress(data);
string str = Convert.ToBase64String(compressedData);
ClientScript.RegisterHiddenField("__CIPVIEWSTATE", str);
}
protected override object LoadPageStateFromPersistenceMedium()
{
//return base.LoadPageStateFromPersistenceMedium();
string viewstate = Request.Form["__CIPVIEWSTATE"];
byte[] data = Convert.FromBase64String(viewstate);
byte[] uncompressedData =
Decompress(data);
string str = Convert.ToBase64String(uncompressedData);
LosFormatter formatter = new LosFormatter();
return formatter.Deserialize(str);
}
- ViewState优化——压缩技术
- 压缩ViewState
- 压缩ViewState
- C#——ViewState
- 压缩ViewState改善性能
- ASP.Net中的ViewState解析和压缩以及页面性能优化
- 优化datagrid的viewstate
- 优化ViewState基类
- asp.net Viewstate 优化
- ViewState 与SEO优化
- Android进阶——图片优化之质量压缩、尺寸压缩、采样率压缩、LibJpeg压缩
- 压缩ASP.NET中的ViewState
- 压缩ASP.NET中的ViewState
- 页面瘦身之压缩viewState和保存viewState到服务器
- ViewState——自定义状态管理(二)
- 压缩ASP.NET中的ViewState的方法
- Apache启用性能优化——启用Gzip,JS压缩
- 压缩感知中的数学知识——凸优化
- 模式设计学习(3)
- dij+优先队列POJ_3662
- 开发板的自启动设置
- 自定义输入法热键(转载)
- DbUnit 注意事项
- ViewState优化——压缩技术
- S3C2440 BootLoader启动流程分析--startup
- 20101116第二篇 工作在上海
- oracle 特殊字符char
- ext 树和列表展示
- Nov. 15th Homework——史经浩
- JDK代理和CGLIB代理总结
- 风雨20年:我所积累的20条编程经验
- H.264 RTP PAYLOAD 格式