zoukankan      html  css  js  c++  java
  • 四:理解Page类的运行机制(例:基于PageStatePersister的页面状态存取)

     有人说类似gridview datalist这样的控件最好不要用在高并发,IO大的网站中
    企业应用中为了快速开发到可以用一用
    因为这是一类"沉重"的组件
    我们姑且不谈这种看法的正确性(我个人觉得有道理)
    只谈它为什么笨重:

    因为这些控件给页面带来了大量的
    viewstate
    <input type="hidden" name="____VIEWSTATE" id="____VIEWSTATE" value=
    这就是页面状态
    一个页面里可能存在两种状态
    控件状态,视图状态

    page类是在
    LoadPageStateFromPersistenceMedium()
    SavePageStateToPersistenceMedium()
    存取页面状态的
    这两个方法都是可以重写的
    他们也可以把状态信息存储在别的媒介中
    我们这里通过重写PageStatePersister属性
    来实现自己的状态存取逻辑

    我们为了压缩viewstate里的数据,必须先实现一个工具类:如下

    Code

     下面重写PageStatePersister来实现自定义的页面状态存取

    Code

     项目的webconfig文件

    Code

    用来测试的一个页面

    Code

    用来测试的页面的cs文件
    注意里面重写了PageStatePersister

    Code

     

    实验做完
    大家运行一下就知道
    定制出来的viewstate比自动生成的要小很多

    最后评价一句
    传输给客户的东西是少了许多
    但是服务器的CPU要做的事情也多了
    用与不用还要自己权衡

  • 相关阅读:
    Java 开发者不容错过的 12 种高效工具
    10个基于 Ruby on Rails 构建的顶级站点
    当 ITOA 遇上 OneAlert,企业可以至少每年节省 3600 小时!
    年度十佳 DevOps 博客文章(前篇)
    如何使用 Java8 实现观察者模式?(下)
    企业处理事件风暴的 2 种最佳管理方法
    移动开发:初学 iOS-UIViewController 心得
    如何使用 Java8 实现观察者模式?(上)
    世界级的安卓测试开发流!
    PHP全栈学习笔记19
  • 原文地址:https://www.cnblogs.com/liulun/p/1378495.html
Copyright © 2011-2022 走看看