CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

session的生命周期是多少

楼主zzzsssccc(今天正为明天后悔)2002-05-31 08:59:54 在 Web 开发 / ASP 提问

怎么设定session的生命周期呢?  
  怎么设定关于session的一切相关资料呢?  
  最好给段完整的代码。 问题点数:60、回复次数:13Top

1 楼cmsoft(韦小宝是我的老乡)(草根在路上)回复于 2002-05-31 09:01:33 得分 40

默认值为20分钟Top

2 楼cmsoft(韦小宝是我的老乡)(草根在路上)回复于 2002-05-31 09:02:34 得分 0

session.timeout=200  
  200的单位是分钟Top

3 楼freezwy(网络自由人)回复于 2002-05-31 09:05:42 得分 20

在IIS里面的“主目录”--》配置里面可以设置站点的SESSION生命周期,同时也可以在GLOBAL.ASA中设置。session.timeout=20Top

4 楼ssm1226(雨中人(虚心学习))回复于 2002-05-31 09:09:31 得分 0

3.3.2   ASP的Session对象成员概述  
  本节概述Session对象的所有成员。  
  1.   Session对象的集合  
  Session对象提供了两个集合,可以用来访问存储于用户的局部会话空间中的变量和对象。这些集合及说明如表3-6所示:  
  表3-6   Session对象的集合及说明  
  集   合    
  说   明    
   
  Contents    
  存储于这个特定Session对象中的所有变量和其值的一个集合,并且这些变量和值没有使用<OBJECT>元素进行定义。包括Variant数组和Variant类型对象实例的引用    
   
  StaticObjects    
  通过使用<OBJECT>元素定义的、存储于这个Session对象中的所有变量的一个集合    
   
  2.   Session对象的特性  
  Session对象提供了四个属性。这些属性及说明如表3-7所示:  
  表3-7   Session对象的属性及说明  
  属   性    
  说   明    
   
  CodePage    
  读/写。整型。定义用于在浏览器中显示页内容的代码页(Code   Page)。代码页是字符集的数字值,不同的语言和场所可能使用不同的代码页。例如,ANSI代码页1252用于美国英语和大多数欧洲语言。代码页932用于日文字    
   
  LCID    
  读/写。整型。定义发送给浏览器的页面地区标识(LCID)。LCID是唯一地标识地区的一个国际标准缩写,例如,2057定义当前地区的货币符号是’&pound;’。LCID也可用于FormatCurrency等语句中,只要其中有一个可选的LCID参数。LCID也可在ASP处理指令<%…%>中设置,并优先于会话的LCID属性中的设置。本章后面提供一个ASP处理指令的列表    
   
  SessionID    
  只读。长整型。返回这个会话的会话标识符,创建会话时,该标识符由服务器产生。只在父Application对象的生存期内是唯一的,因此当一个新的应用程序启动时可重新使用    
   
  Timeout    
  读/写。整型。为这个会话定义以分钟为单位的超时周期。如果用户在超时周期内没有进行刷新或请求一个网页,该会话结束。在各网页中根据需要可以修改。缺省值是10min。在使用率高的站点上该时间应更短    
   
  3.   Session对象的方法  
  Session对象允许从用户级的会话空间删除指定值,并根据需要终止会话。Seesion对象的方法及说明如表3-8所示:  
  表3-8   Session对象的方法及说明  
  方   法    
  说   明    
   
  Contents.Remove(“variable_name”)    
  从Session.Content集合中删除一个名为variable_name的变量    
   
  Contents.RemoveAll()    
  从Session.Content集合中删除所有变量    
   
  Abandon()    
  当网页的执行完成时,结束当前用户会话并撤消当前Session对象。但即使在调用该方法以后,仍可访问该页中的当前会话的变量。当用户请求下一个页面时将启动一个新的会话,并建立一个新的Session对象(如果存在的话)    
   
  注意,在运行期间不能从Session.StaticObjects集合中删除变量。  
  4.   Session对象的事件  
  Session对象提供了在启动和结束时触发的两个事件,如表3-9所示:  
  表3-9   Session对象的事件及说明  
  事   件    
  说   明    
   
  OnStart    
  当ASP用户会话启动时触发,在用户请求的网页执行之前。用于初始化变量、创建对象或运行其他代码。    
   
  OnEnd    
  当ASP用户会话结束时触发。从用户对应用程序的最后一个页面请求开始,如果已经超出预定的会话超时周期则触发该事件。当会话结束时,取消该会话中的所有变量。在代码中使用Abandon方法结束ASP用户会话时,也触发该事件    
   
  Top

5 楼good02xaut(good)回复于 2002-05-31 09:24:59 得分 0

在global.asa中,sub   session_OnStart   session.timeout=10     end   sub     就可以把   sesion的生命周期该为10分钟了Top

6 楼beyond_xiruo(CorruptionException)回复于 2002-05-31 09:27:55 得分 0

default   20minTop

7 楼fatality1977(等老鼠的懒猫)回复于 2002-05-31 09:45:40 得分 0

如果在global.asa中直接使用  
  session.timeout=10  
  效果和  
  sub   session_OnStart   session.timeout=10     end   sub  
  一样吗?  
  Top

8 楼yzx_zyj(gg)回复于 2002-05-31 09:50:57 得分 0

20分钟  
  可以改变Top

9 楼xxjmz_78(阿甘)回复于 2002-05-31 10:05:11 得分 0

如果用户在指定时间内没有请求或刷新应用程序中的任何页,会话将自动结束。这段时间的默认值是   20   分钟。可以通过在   Internet   服务管理器中设置“应用程序选项”属性页中的“会话超时”属性改变应用程序的默认超时限制设置。应依据您的   Web   应用程序的要求和服务器的内存空间来设置此值。例如,如果您希望浏览您的   Web   应用程序的用户在每一页仅停留几分钟,就应该缩短会话的默认超时值。过长的会话超时值将导致打开的会话过多而耗尽您的服务器的内存资源。对于一个特定的会话,如果您想设置一个小于默认超时值的超时值,可以设置   Session   对象的   Timeout   属性。例如,下面这段脚本将超时值设置为   5   分钟。    
    <   %   Session.Timeout   =   5   %>  
   
       当然你也可以设置一个大于默认设置的超时值,Session.Timeout   属性决定超时值。你还可以通过   Session   对象的   Abandon   方法显式结束一个会话。例如,在表格中提供一个“退出”按钮,将按钮的   ACTION   参数设置为包含下列命令的   .asp   文件的   URL。    
    <   %   Session.Abandon   %>  
  Top

10 楼xxjmz_78(阿甘)回复于 2002-05-31 10:07:02 得分 0

与   Application   对象具有相近作用的另一个非常实用的   ASP   内建对象就是   Session。我们可以使用   Session   对象存储特定的用户会话所需的信息。当用户在应用程序的页之间跳转时,存储在   Session   对象中的变量不会清除,而用户在应用程序中访问页面时,这些变量始终存在。当用户请求来自应用程序的   Web   页时,如果该用户还没有会话,则   Web   服务器将自动创建一个   Session   对象。当会话过期或被放弃后,服务器将终止该会话。  
   
       通过向客户程序发送唯一的   Cookie   可以管理服务器上的   Session   对象。当用户第一次请求   ASP   应用程序中的某个页面时,ASP   要检查   HTTP   头信息,查看是否有在报文中有名为   ASPSESSIONID   的   Cookie   发送过来,如果有,则服务器会启动新的会话,并为该会话生成一个全局唯一的值,在把这个值作为新   ASPSESSIONID   Cookie   的值发送给客户端,正是使用这种   Cookie,可以访问存储在服务器上的属于客户程序的信息。Session   对象最常见的作用就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在   Session   对象中。另外其还经常被用在鉴别客户身份的程序中。要注意的是,会话状态仅在支持   cookie   的浏览器中保留,如果客户关闭了   Cookie   选项,Session   也就不能发挥作用了。    
       一、属性    
   
       1、SessionID    
   
       SessionID   属性返回用户的会话标识。在创建会话时,服务器会为每一个会话生成一个单独的标识。会话标识以长整形数据类型返回。在很多情况下   SessionID   可以用于   WEB   页面注册统计。    
   
       2、TimeOut    
   
       Timeout   属性以分钟为单位为该应用程序的   Session   对象指定超时时限。如果用户在该超时时限之内不刷新或请求网页,则该会话将终止。    
   
       二、方法    
   
       Session   对象仅有一个方法,就是   Abandon,Abandon   方法删除所有存储在   Session   对象中的对象并释放这些对象的源。如果您未明确地调用   Abandon   方法,一旦会话超时,服务器将删除这些对象。当服务器处理完当前页时,下面示例将释放会话状态。    
    <   %   Session.Abandon   %>  
   
   
   
       三、事件    
   
       Session   对象有两个事件可用于在   Session   对象启动和释放是运行过程。    
   
       1、Session_OnStart   事件在服务器创建新会话时发生。服务器在执行请求的页之前先处理该脚本。Session_OnStart   事件是设置会话期变量的最佳时机,因为在访问任何页之前都会先设置它们。    
   
       尽管在   Session_OnStart   事件包含   Redirect   或   End   方法调用的情况下   Session   对象仍会保持,然而服务器将停止处理   Global.asa   文件并触发   Session_OnStart   事件的文件中的脚本。    
   
       为了确保用户在打开某个特定的   Web   页时始终启动一个会话,就可以在   Session_OnStart   事件中调用   Redirect   方法。当用户进入应用程序时,服务器将为用户创建一个会话并处理   Session_OnStart   事件脚本。您可以将脚本包含在该事件中以便检查用户打开的页是不是启动页,如果不是,就指示用户调用   Response.Redirect   方法启动网页。程序如下   :    
   
  <   SCRIPT   RUNAT=Server   Language=VBScript>  
  Sub   Session_OnStart  
  startPage   =   "/MyApp/StartHere.asp"  
  currentPage   =   Request.ServerVariables("SCRIPT_NAME")  
  if   strcomp(currentPage,startPage,1)   then  
  Response.Redirect(startPage)  
  end   if  
  End   Sub  
  <   /SCRIPT>  
   
       上述程序只能在支持   cookie   的浏览器中运行。因为不支持   cookie   的浏览器不能返回   SessionID   cookie,所以,每当用户请求   Web   页时,服务器都会创建一个新会话。这样,对于每个请求服务器都将处理   Session_OnStart   脚本并将用户重定向到启动页中。    
       2、Session_OnEnd   事件在会话被放弃或超时发生。    
   
       关于使用   Session   对象需要注意的事项   Application   对象相近,请参照前文。    
   
       会话可以通过以下三种方式启动   :    
   
       1、一个新用户请求访问一个   URL,该   URL   标识了某个应用程序中的   .asp   文件,并且该应用程序的   Global.asa   文件包含   Session_OnStart   过程。    
   
       2、用户在   Session   对象中存储了一个值。    
   
       3、用户请求了一个应用程序的   .asp   文件,并且该应用程序的Global.asa   文件使用   <   OBJECT>   标签创建带有会话作用域的对象的实例。    
   
       如果用户在指定时间内没有请求或刷新应用程序中的任何页,会话将自动结束。这段时间的默认值是   20   分钟。可以通过在   Internet   服务管理器中设置“应用程序选项”属性页中的“会话超时”属性改变应用程序的默认超时限制设置。应依据您的   Web   应用程序的要求和服务器的内存空间来设置此值。例如,如果您希望浏览您的   Web   应用程序的用户在每一页仅停留几分钟,就应该缩短会话的默认超时值。过长的会话超时值将导致打开的会话过多而耗尽您的服务器的内存资源。对于一个特定的会话,如果您想设置一个小于默认超时值的超时值,可以设置   Session   对象的   Timeout   属性。例如,下面这段脚本将超时值设置为   5   分钟。    
    <   %   Session.Timeout   =   5   %>  
   
       当然你也可以设置一个大于默认设置的超时值,Session.Timeout   属性决定超时值。你还可以通过   Session   对象的   Abandon   方法显式结束一个会话。例如,在表格中提供一个“退出”按钮,将按钮的   ACTION   参数设置为包含下列命令的   .asp   文件的   URL。    
    <   %   Session.Abandon   %>  
  Top

11 楼richard_ouyang(爱象刀上的苹果)回复于 2002-05-31 10:10:02 得分 0

可以自己随时更改  
  一句话:  
  <   %   Session.Timeout   =   30   %>  
  那么就有30分钟时间,对于联众之类的站点,Session都是很高的。  
  因为如果客户不向服务器提出刷新请求,Sission的时间是不会更新的Top

12 楼julyclyde(Java初学(大学不教只好自己学))回复于 2002-05-31 13:59:39 得分 0

联众的是ASP吗?Top

13 楼lbqlbq(流星)回复于 2002-05-31 15:39:34 得分 0

默认20分钟,可以自己设置session的过期时间,例如:设置100分钟过期  
  <%session.timeout=100%>  
  Top

相关问题

  • 有人知道session的生命周期是多少?
  • Stateful Session Bean的生命周期问题
  • 请问一下session的生命周期
  • Session Bean的生命周期问题?
  • session的生命周期设置
  • 关于session的生命周期的疑问
  • 如何延长session变量的生命周期?
  • Session的生命周期,为什么关闭浏览器Session还在?
  • jsp中关于session的生命周期的问题,很怪(包你没见过)???????
  • 请问 asp.net 中 Session 的生命周期 它在什么时候可用

关键词

  • 应用程序
  • 用户
  • 属性
  • 服务器
  • 脚本
  • 文件
  • 代码
  • 对象
  • 时值
  • 超时

得分解答快速导航

  • 帖主:zzzsssccc
  • cmsoft
  • freezwy

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo