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变量完全取决于个人的需要,无论使用与否,都要事先考虑其优缺点
- · ASP教程:第十一篇ASP内建对象Server
- · ASP教程:第九篇ASP内建对象Application和Ses…
- · ASP教程:第六篇ASP脚本循环语句
- · ASP教程:第五篇脚本变量、函数、过程和条件语…
- · ASP教程:第三篇ASP基础
- · ASP教程:第二篇ASP简介
- · ASP教程:第一篇Areyouready
- · ASP中XML、DataSet、DataGrid结合实例
- · ado网站资料库技术速成(一)
- · ado网站资料库技术速成(三)
- · ado网站资料库技术速成(四)(BIG5)
- · asp中的游标
- · RecordSet的Locktype属性
- · 用asp处理access数据库
- · 在ASP与ASP.NET之间共享对话状态(2)
- · 在ASP与ASP.NET之间共享对话状态(1)
- · Js:关于document.execCommand()函数可用参数大…
- · VBScript错误信息一览
- · 分页函数
- · 开辟一条自由ASP快车道
- · 根据需要动态include不同的文件
- · 让自定义文件下载支持断点续传(HTTP_RANGEAd…
- · 汉字转化为拼音(asp版)
- · CGI技术及其开发(一)
- · 防止ACCESS数据库被下载的一个通用解决方法:
- · WebClass入门(1)
- · DirectInput鼠标编程入门
- · ASP的技术特点与使用方法
- · Asp中关于Global.asa文件的编程(三)
- · Asp中关于Global.asa文件的编程(二)
- · Asp中关于Global.asa文件的编程(-)
- · 在ASP中如何访问Novell下的数据库
- · 不通过dsn访问sqlserver
- · 数据库查询中的特殊字符的问题
- · 用SELECT创建记录和表
- · 关于SQL的存储过程一个悬而未决的老问题
- · 个人主页的数据库解决方案ASP
- · 连接WEB数据库的ADO性能提高技巧
