分享
 
 
 

ASP入门基础教程-处理会话事件

王朝asp·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

Session 对象有两个事件:即 OnStart 事件和 OnEnd 事件。通过对这两个事件过程编写脚本可以在会话开始和结束时执行指定的操作。编写这些事件过程的脚本代码时,必须使用 SCRIPT 标记并将 RUNAT 属性设置为 Server ,而不能使用一般的 ASP 脚本定界符<% 和 %>;这些事件过程的脚本代码必须包含在一个名为 global.asa 的文件中,而该文件必须存放在应用程序的根目录中。

1、Session_OnStart 事件

Session_OnStart事件是在服务器创建新会话时发生。服务器在执行请求的页之前先处理该脚本。Session_OnStart事件是设置会话期变量的最佳时机,因为在访问任何页之前都会先执行它们。

当会话开始时触发Session_OnStart事件,然后运行Session_Onstart事件的处理过程。也就是说,当服务器接收到应用程序中的URL的HTTP请求时,触发此事件,并建立一个Session对象。

2、实例

在下在的例子中,通过 Session_OnStart 事件过程对会话变量 UserName 和 Password 进行初始化。代码如下:<Script Language="VBScript" Runat="session">Sub Session_OnStartSession("UserName")="未知"Session("Password")="未知"End Sub</Script>

假如不希望用户第一次访问时直接进入主页之外的其他页面,可以在 Session_OnStart 过程中对用户请求的页面路径与主页路径进行比较,如果不相同,则调用 Response.Redirect 方法将用户引导到主页。脚本如下:<Script language="VBScript" runat="server">sub session_OnStarthomePage="/myasp/index.asp"requestpage=Request.ServerVariables("SCRIPT_NAME")if homePage<>RequestPage thenresponse.Redirect homePageend ifend sub</script>

3、测试这段代码

首先我们建一个别名为 “myasp” 的虚似目录,将 global.asa 文件保存到这个虚拟目录下,再建一个名为 “index.asp" 的简单主页也放到这个虚拟目录下,然后在这个虚拟目录下建一个名为 1 的子目录,再建一个名为 1.asp 的简单页面放到这个子目录下。最后在地址栏内输入地址:

http://127.0.0.1/myasp/1/1.asp, 回车后,你会发现显示的是 index.asp 页面,地址栏内自动将地址转换成127.0.0.1/myasp/index.asp。这表明:当客户第一次登录到 http://127.0.0.1/myasp/1/1.asp 页面,先调用 session_OnStart 事件,在这个事件中通过 Request 对象的 ServerVariables 集合中的 "SCRIPT_NAME" 环境变量获得当前页面的虚拟路径,然后与你指定的页面路径进行比较,如果两者不一样,则通过 response 对象的 Redirect (重定向)方法将页面重新指向你指定的页面。

4、Session_OnEen 事件

当调用 Session.Abandon 方法或在超时时限内没有请求或刷新页面,便发生该事件并执生 Sessiot_End 事件过程,相应的 Session 对象随之自动结束。

在下面的例子中,通过事件过程 Session_OnEnd 将用户标识和结束会话的时间添加到站点日志文件中。<script language="vbscript" runat="server">sub session_OnEndresponse.AppendTolog Session.SessionID & Timer()end sub</script>

查看全套"ASP入门基础"教程>>>>>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有