ASP中使用Session变量的优缺点

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变量完全取决于个人的需要,无论使用与否,都要事先考虑其优缺点

时间: 2024-10-30 03:51:58

ASP中使用Session变量的优缺点的相关文章

ASP中使用Session变量的优缺点(转)

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

session问题-asp中的session的运用问题

问题描述 asp中的session的运用问题 我在asp的写网页时遇到一个问题,就是 session 在登录中的运用,将登录信息存到session中时怎么把登录信息夸页面进行验证.如果可以的话给个小例子也行!内容不要太复杂只要 1.将登录页面和登录成功显示页面分离. 2.将登录信息存入session . 3.在登录成功页面以外验证session的值是还有效判断是否以经登录成功.

ASP中关于session的一些问题

session|问题 如何取得所有的Session变量? 在程序调试中,有时候需要知道有多少Session变量在使用,她们的值如何?由于Session对象提供一个称为Contents的集合(Collection),我们可以通过For...Each循环来达到目标: Dim strName, iLoop For Each strName in Session.Contents Response.Write strName & " - " & Session.Contents

ASP所有的Session变量获取实现代码_应用技巧

复制代码 代码如下: Dim strName, iLoop For Each strName in Session.Contents Response.Write strName & " - " & Session.Contents(strName)& "[BR]" Next 一般情况下,上面的代码可以工作得很好.但当Session变量是一个对象或者数组时,打印的结果就不正确了. 这样我们修改代码如下: 复制代码 代码如下: '首先看看有多少

ASP所有的Session变量获取实现代码

复制代码 代码如下: Dim strName, iLoop For Each strName in Session.Contents Response.Write strName & " - " & Session.Contents(strName)& "[BR]" Next 一般情况下,上面的代码可以工作得很好.但当Session变量是一个对象或者数组时,打印的结果就不正确了. 这样我们修改代码如下: 复制代码 代码如下: '首先看看有多少

ASP中轻松实现变量名-值变换

变量 用过PHP的朋友都知道,PHP中变量的使用灵活方便,特别是能在字符串中方便实现变量名-值变换,使得整个PHP代码更显简洁优美.比如一条更新数据库的SQL语句只需写成:"update users set password='$password', group=$group, name='$username' where account='$account'",其中的$password.$group.$username.$account便会被实际的变量值替换,而在ASP中要实现相同的

ASP中常用的变量命名规则

  ASP中,常用的变量命名规则 在ASP编程中,如果你遵守了下面的变量命名规则,你的代码的可行性.可维护性将会更好: 一般命名规则 前缀 变量类型 例子 b or bln Boolean bSuccess c or cur Currency cAmount d or dbl Double dblQuantity dt or dat Date and Time dtDate f or flt Float fRatio l or lng Long lMilliseconds i or int In

asp中设置session过期时间方法总结

 如果程序中没有设置session的过期时间,那么session过期时间就会按照IIS设置的过期时间来执行,IIS中session默认过期时间为20分钟,IIS中session时间可以更改   如果程序中设置了session过期时间,那么,即使你将IIS中session时间设置100小时也没有用,因为程序会首先按照程序中设置,只有程序没设置的情况下才会按照IIS设置的 时间设置要放在前面 例如  代码如下   Session.Timeout=30 'SEESION有效时间为30分钟  Sessi

asp中设置session过期时间方法总结_应用技巧

如果程序中没有设置session的过期时间,那么session过期时间就会按照IIS设置的过期时间来执行,IIS中session默认过期时间为20分钟,IIS中session时间可以更改 时间设置要放在前面 例如 复制代码 代码如下: Session.Timeout=30 'SEESION有效时间为30分钟 Session("ID")=Rs("id") Session("Name")=Rs("Name") Session(&q