ASP中使用Session变量的优缺点

时间:2007-10-01 18:02:00 

许多人利用Session变量来开发ASP(Active Server Pages)。这些变量与任何编程语言中通用的变量非常相似,并且具有和通用变量一样的优点和缺陷。任何命令都需要运行时间和存储空间(甚至GOTO’s语句如此),Session变量同样需要自己的运行时间和存储空间。过多地使用Session变量就会导致无法代码冗余,并且使服务器运行成本提高下面是我个人使用Session变量的一些主要观点和心得体会。




优点

  如果要在诸多Web页间传递一个变量,那么用Session变量要比通过QueryString传递变量可使问题简化。

  要使WEb站点具有用户化,可以考虑使用Session变量。你的站点的每位访问者都有用户化的经验,基于此,随着LDAP和诸如MS Site Server等的使用,已不必再将所有用户化过程置入Session变量了,而这个用户化是取决于用户喜好的。

  你可以在任何想要使用的时候直接使用session变量,而不必事先声明它,这种方式接近于在VB中变量的使用。使用完毕后,也不必考虑将其释放,因为它将自动释放。

缺点

  Session变量和cookies是同一类型的。如果某用户将浏览器设置为不兼容任何cookie,那么该用户就无法使用这个Session变量!

  当一个用户访问某页面时,每个Session变量的运行环境便自动生成,这些Session变量可在用户离开该页面后仍保留20分钟!(事实上,这些变量一直可保留至“timeout”。“timeout”的时间长短由Web服务器管理员设定。一些站点上的变量仅维持了3分钟,一些则为10分钟,还有一些则保留至默认值20分钟。)所以,如果在Session中置入了较大的对象(如ADO recordsets,connections, 等等),那就有麻烦了!随着站点访问量的增大,服务器将会因此而无法正常运行!

  因为创建Session变量有很大的随意性,可随时调用,不需要开发者做精确地处理,所以,过度使用session变量将会导致代码不可读而且不好维护。

  虽然“你可以在任何想要使用的时候直接使用session变量,而不必事先声明它,这种方式接近于在VB中变量的使用。使用完毕后,也不必考虑将其释放,因为它将自动释放”。但是,“谁”想到那儿呢?变量的含义是什么?这些都变得不很清晰。

总结

  使用Session变量既有优点,又有缺点。就我个人的观点,最好少用,但在某些地方使用它们确实能使Web开发大大地简化。是否使用Session变量完全取决于个人的需要,无论使用与否,都要事先考虑其优缺点

标签:session,asp
0
投稿

猜你喜欢

  • asp中如何对ip段进行过滤限制

    2007-09-17 11:14:00
  • 在select语句中使用top的一些小技巧

    2009-03-12 12:21:00
  • 判断触发器正在处理的是插入,删除还是更新触发

    2012-01-29 18:30:34
  • Oracle10g 安装方法

    2009-06-19 17:50:00
  • Oracle与SQL Server数据库镜像对比

    2009-03-25 14:27:00
  • [CSS+JS]同一页面可以重复使用的选项卡

    2009-02-12 12:53:00
  • 详细讲解删除SQL Server日志的具体方法

    2008-12-09 14:32:00
  • Oracle数据库安全策略分析 (三)

    2010-07-31 13:24:00
  • SQL常用数据库操作命令使用方法

    2007-08-22 13:24:00
  • js验证表单(form)中多选框(checkbox)值

    2008-03-18 13:39:00
  • 交互设计实用指南系列(12)—避免出错

    2010-04-12 13:02:00
  • 利用css的clear属性搞定广告文字环绕效果

    2008-05-24 13:48:00
  • 详解SQL Server分布式查询

    2010-09-19 09:07:00
  • ASP ajax分页教程一

    2011-04-10 10:51:00
  • 设计模式-自动完成

    2010-11-30 21:44:00
  • 使用eval()解析JSON格式字符串应注意的问题

    2008-04-16 15:46:00
  • JavaScript中尽量用局部变量的原因[译]

    2009-02-20 13:45:00
  • 如何解决国外空间显示乱码问题

    2007-11-18 14:28:00
  • 解密SQL Server数据库系统的编译

    2009-03-16 17:33:00
  • 如何查看access数据库中各元素的最大容量

    2007-08-28 12:44:00
  • asp之家 网络编程 m.aspxhome.com