• 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.改天有时间再发详细测试结果。

  • 相关阅读:
    Maven配置与创建
    JDBCTemplate执行增删改查(CDUR)操作
    事务(Transaction)
    sql批处理(batch)的简单使用
    基于XML配置的AOP实现日志打印
    简单的aop实现日志打印(切入点表达式)
    SpringMVC下文件的上传与下载以及文件列表的显示
    @RequestMapping映射请求,@PathVariable,@RequestParam,@RequestHeader的使用
    SpringMvc的异常处理
    SpringMVC的HelloWorld快速入门!
  • 原文地址:https://www.cnblogs.com/nonlyli/p/1385861.html
Copyright © 2020-2023  润新知