ASP中使用Session变量的优缺点

2016-01-29 18:28 6 1 收藏

ASP中使用Session变量的优缺点,ASP中使用Session变量的优缺点

【 tulaoshi.com - ASP 】

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

 

来源:http://www.tulaoshi.com/n/20160129/1505967.html

延伸阅读
标签: 顺产
顺产 顺产是一种分娩方式。顺产比剖腹产好多了,至少生完后还是完整的,没有缺陷。这对爱美的女性来说是个最大的诱惑。剖腹产是一种手术,会给产妇带来损害,例如麻醉意外、术中或术后出血、产后护理不当等。 顺...
标签: Web开发
" CODEPAGE="936"%    %    Response.Expires = 0;    Response.Buffer  = true;    var tPageStartTime = new Date();    %   html   head   title网站-Application变量-Session变量/title   meta http-equiv="Content-Type" content=&...
标签: ASP
1. SELECT 语句 在SQL的世界里,最最基础的操作就是SELECT 语句了。在数据库工具下直接采用SQL的时候很多人都会熟悉下面的操作: SELECT what FROM whichTable WHERE criteria 执行以上语句就会创建一个存放其结果的查询。 而在ASP页面文件上,你也可以采用以上的一般语法,不过情况稍微不同,ASP编程的时候,SELECT 语句的内容要作为字符串...
标签: ASP
  当讨论Request对象内容时,要研究的集合之一就是ServerVariables集合。这个集合包含了两种值的结合体,一种是随同页面请求从客户端发送到服务器的HTTP报头中的值,另外一种是由服务器在接收到请求时本身所提供的值。 “自引用”页面 在ServerVariables集合中返回的值包含Web服务器的详细信息和当前页面的路径信息。在任...
标签: ASP
  <%@ Page Language="VB" % <script language="VB" runat="server" Const COOKIE_NAME  As String = "test-cookie-name" Const COOKIE_VALUE As String = "test-cookie-value" ' Declare our cookie object Dim objCookieObject As HttpCookie ...

经验教程

817

收藏

31
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部