ASP中使用Session变量的优缺点


  许多人利用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变量 彻底取决于个人的需求,无论 使用与否,都要事先考量其优缺陷