快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

ASP内置对象详解之SESSION对象

  Session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。每一访问者都会单独获得一个Session。在Web应用程序中,当一个用户访问该应用时,Session类型的变量可以供这个用户在该Web应用的所有页面中共享数据;假如另一个用户也同时访问该Web应用,他也拥有自己的Session变量,但两个用户之间无法通过Session变量共享信息,而Application类型的变更则可以实现站点多个用户之间在所有页面中共享信息。

  1、SessionID属性

  该属性返回当前会话的唯一标志,为每一个Session分配不同的编号。
  我曾在开发过程中就碰到对用户的控制问题。它要实现的功能就是,针对某个网站的一个模块,当一个会员登录后正在看此模块时,另一个人用同样的会员名登录,就不能浏览这个模块。也就是说一个会员名同时只能一个人浏览此模块。我通过用会员名(假设为UserID,唯一)和SessionID来实现了控制。当会员登录时,给这个会员一个Session记录登录状态如: Session("Status")="Logged",同时把这个会员的Session.SessionID写入数据库。当他要浏览此模块时,先判定其是否登录,若已经登录再判定它的SessionID是否与数据库记录的一样,假如不同则不能访问。这样,当另一个用户用一样的会员名登录时,那么数据库中记录的就是新的SessionID,前者访问此模块时就不能通过检查。这就实现了一个会员名同时只能一个人浏览某个模块。这个功能在一些收费网站有很有特殊作用,它防止了一个会员名给多个人浏览的问题,为公司保障了利益。

  2、TimeOut属性

  该属性用来定义用户Session对象的时限。假如用户在规定的时间内没有刷新网页,则Session对象就会终止。一般默认为20分钟。  

  3、Abandon方式

  该方式是Session对象的唯一方式,可以清除Session对象,用来消除用户的Session对象并释放其所占的资源。如: <% Session.Abandon %>

  4、Session_OnStart和Session_OnEnd事件

  和Application相同,当对象的例程每一次启动时触发Session_OnStart事件,然后运行Session_Onstart事件的处理过程。也就是说,当服务器接收到应用程序中的URL的HTTP哀求时,触发此事件,并建立一个Session对象。同理,这个事件也必须定在 Global.asa文件中。

  当调用Session.Abandon方式时或者在TimeOut的时间内没有刷新,这会触发Session_OnEnd事件,然后执行里面的脚本。Session变量与特定的用户相联系,针对某一个用户赋值的Session变量是和其他用户的Session变量完全独立的,不会存在相互影响。

  Session应用一例:

  与Application相同,一个被定义为Session类型的数组只能将整个数组作为一个对象,用户不能直接改变Session数组中某个元素的值。为了创建一个Session数组,需先定义一个普通的数组,并对它的每一个元素赋初值,最后把它定义为一个Session数组。如:
<%
dim array()
array=array("jeff","zhu","male")
Session("info")=array
Response.write Session("info")(0) &"-"
Response.write Session("info")(1) &"-"
Response.write Session("info")(2) &"<br>"
%>
<hr>
<%
array(0)="jun"
array(1)="li"
array(2)="female"
Session("info")=array
Response.write Session("info")(0) & "-"
Response.write Session("info")(1) & "-"
Response.write Session("info")(2) & "<br>"
%>
  以上这段程序输出结果是:
jeff-zhu-male
_____________
jun-li-female
返回类别: 教程
上一教程: 关于JMAIL如何在收件人处指定多个收件人
下一教程: 使用NEXTRECORDSET通过一个CONNECTION输出多个SELECT查询

您可以阅读与"ASP内置对象详解之SESSION对象"相关的教程:
· ASP内置对象详解之OBJECTCONTEXT对象
· ASP内置对象详解之RESPONSE对象
· ASP内置对象详解之SERVER对象
· ASP内置对象详解之APPLICATION对象
· ASP内置对象详解之REQUEST对象
    微笑服务 优质保证 索取样品