解读如何正确使用ASP中的Session对象变量_ASP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:ASP如何防止表单重复提交
用户提交表单时经常会遇到一些意外情况,比如多次刷新页面、按了后退键等,如果不采取控制措施就会引起 表单重复提交的问题。 本文介绍的这种 防止方法, 主要由四个子程序组成,在较为简单的应用场合,你只要将这些代码放在包含文件中直接引用即可;对于那些

使用ASP 的人都知道,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取决于项目需要,但无论使用与否,都要事先考虑其优缺点。

分享:如何解决left截取字符标题长度不一
我们经常看到直接用left截字符串时,因为标题中会出现汉字和英文共存,所以造成两条新闻标题长度不一,为了解决这个问题我们可以使用下面这个函数。 % ’************************************************** ’函数名:gotTopic ’作用:截字符串,汉字一个算

来源:模板无忧//所属分类:ASP教程/更新时间:2010-02-23
相关ASP教程