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要做的事情也多了
    用与不用还要自己权衡

  • 相关阅读:
    Codeforces Round #481 (Div. 3) D. Almost Arithmetic Progression
    Codeforces Round #481 (Div. 3) G. Petya's Exams
    使用create-react-app 搭建react + ts + antd框架
    callback、promise和async、await的使用方法
    JS数组中Array.of()方法的使用
    react中替换关键字并且高亮显示的方法
    封装 jsonp请求数据的方法
    React的新特性 ---- Hooks ---- 的基本使用
    在canvas中使用其他HTML元素
    React的性能优化
  • 原文地址:https://www.cnblogs.com/liulun/p/1378495.html
Copyright © 2011-2022 走看看