当前位置:首页 > 技术交流 > 随心记 > 正文内容

session 与 ViewState 的区别

纵横四海7个月前 (03-09)随心记578

session 是存在服务器端,大量的使用session将导致服务器负担加重.而viewstate由于只是将数据存入到页面隐藏控件里,不再占用服务器资源,因此, 我们可以将一些需要服务器"记住"的变量和对象保存到viewstate里面.

而sesson则只应该应用在需要跨页面且与每个访问用户相关的变量和对象存储上. 另外session在默认情况下20分钟就过期,而viewstate则永远不会过期.

任何事物都有两面性, 使用viewstate会增加页面html的输出量,占用更多的带宽,这一点是需要我们慎重考虑的. 另外, 由于所有的viewstate都是存储在一个隐藏域里面,用户可以很容易的通过查看源码来看到这个经过base64编码的值.然后再经过转换就可以获取你存储其中的对象和变量值.

其实,对于viewstate的安全性问题,asp.net还给我们提供了更多的选择.

一般如果要保护viewstate有两种方式: 一种是防篡改,一种是加密. 一说到防篡改,我们就想起了使用散列代码.

没错, 我们可以在页面顶部加入如下代码:

Page EnableViewStateMAC=true


版权声明:本文由纵横四海博客发布,如需转载请注明出处。

部分资源整理自互联网,如侵权请联系站长删除!

本文链接:https://www.fxkgg.com/post/21.html

分享给朋友:

相关文章

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。