Asp.net的状态管理
一、服务器端方法
1、Application对象
存放在内存中的应用程序级状态保存。当触发Application_End事件时候(iis重启,或服务器故障等)才会消失。
用于保存所有用户数据共享。
2、Session对象
会话级状态保存。根据SessionStateMode属性来决定存放在何处。用于某个特定用户的数据共享。
3、数据库、文件等
存放在硬盘的网络级状态保存。数据持久。不多说了~~:)
补充一个
4、静态变量
应用程序级的。可以保持全局数据。共用一块内存。
二、客户端方法
1、URL参数传递。通过get请求,把参数从一个页面传递到另一个页面。
2、hidden变量。通过http post方法向服务器提交页面。
3、使用ViewState。ViewState是Asp.net默认用来保存空间状态的方法。
4、Cookies对象。保存在客户端及其硬盘上。一般用来存放一些用户登陆信息。
建议:
数据量大,重要信息,机密信息,不要采用客户端方法。数据量大会增加网络的传输,降低网络性能。重要信息机密信息存在客户端容易被窃取,不过可以采取加密等手段,但是不建议。