现在的位置: 首页 > 综合 > 正文

Asp.net 请求中变量的保存方式

2013年05月04日 ⁄ 综合 ⁄ 共 550字 ⁄ 字号 评论关闭

Session:

当前浏览器用户,在浏览器关闭后或者是指定时间后(默认为20分钟)失效

同时根据Session的存储方式,有不同的情况:

  • InProc:该模式Session将会被保存在IIS进程中,如果IIS进程重启,那么Session将会丢失
  • StateServer:该模式Session将会被存储在ASP.NET State Service进程中,IIS进程的重启将不会引起Session的失效,只有ASP.NET State Service进程重启后才会失效。采用该方式存储Session时ASP.NET State Service进程可以和IIS不在同一台PC。
  • Sql Server:使用Sqlserver保存Session,这是最保险的方案,Session值将会采用数据信息存储在数据库中。

在使用StateServer和SqlServer保存Session时,因为对象已经不是在一个进程中进行传输,所以该对象一定要是能够序列化的([Serializable])。

ViewState:

在当前客户端和当前页面有效

存储过大数据会严重影响页面读取效率

Cookie:

在当前机器有效,可指定过期时间

Static变量:

存储在服务器端,所有的用户共享使用

静态变量保存在页面对应的类中,如果该页面对象被回收,那静态变量也会被回收。

抱歉!评论已关闭.