当前位置:  开发笔记 > 后端 > 正文

将ViewState移出页面?

如何解决《将ViewState移出页面?》经验,为你挑选了1个好方法。

我们正试图尽可能减轻页面负载.由于ViewState有时可以膨胀到100k的页面,我很乐意完全消除它.

我很想听听其他人用来将ViewState移动到自定义提供程序的一些技巧.

那说,一些警告:

我们平均每小时为200万独立访客提供服务.

因此,数据库读取在性能方面一直是一个严重的问题,因此我不想将ViewState存储在数据库中.

我们也是负载均衡器的幕后推手,因此任何解决方案都必须与用户在每次回发时从一台机器反弹到一台机器.

想法?



1> Mike..:

你如何处理会话状态?有一个内置的"存储会话状态中的视图状态"提供程序.如果您将会话状态存储在某个快速,不合适的系统中,那么这可能是视图状态的最佳选择.

编辑:为此,请将以下代码添加到页面类/全局页面基类中

    protected override PageStatePersister PageStatePersister {
        get { return new SessionPageStatePersister(this); }
    }

另外......对于大型视图状态来说,这绝不是一个完美的(甚至是好的)解决方案.与往常一样,尽可能减小视图状态的大小.但是,SessionPageStatePersister相对智能,并且避免每个会话存储无限数量的视图状态,并避免每个会话仅存储一个视图状态.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有