博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP入门(十五)- Global.asa
阅读量:7039 次
发布时间:2019-06-28

本文共 1721 字,大约阅读时间需要 5 分钟。

Global.asa 文件是一个可选文件,它可包含被 ASP 应用程序中每个页面访问的对象、变量和方法的声明。所有合法的浏览器脚本都可以在 Global.asa 中使用。

Global.asa 文件只能包含 Application 事件Session 事件、<object> 声明TypeLibrary 声明#include 指令这几种内容。

Global.asa 文件必须放在 ASP 应用程序的根目录中,而且每一个应用程序只能有一个 Global.asa 文件。

Global.asa 中的事件

Global.asa 文件中应当包含 4 个 Sub 过程,并且它们的名字是固定的,这样 IIS 在处理 ASP 脚本时,就可以自动执行这些过程了,一个标准的 Global.asa 的代码结构如下:

首先,这里并不是以 <% %> 定界符来包含代码的,而是以 <script> 标签来包含相应的代码,否认会出现错误。

Application_OnStart 此事件会在整个网站第一次开启时触发,此事件会法正在 Web 服务器重启或者 Global.asa 文件被编辑之后。Session_OnStart 事件会在此事件发生之后立即发生。

Session_OnStart 事件会在每当新用户请求网站的ASP程序的第一个页面时发生。也就是IIS为用户分配 SessionID 时触发。

Session_OnEnd 事件会在每当用户结束 Session 时发生。这与 Session.Timeout 的设定有关系,在规定的时间(默认时间为20分钟)内如果用户没有请求任何页面,用户 Session 就会结束,此时 Session_OnEnd 事件也会被触发。

Application_OnEnd 事件会在最后一个用户结束其 Session 之后发生。典型的情况就是,Web 服务器关机或重启,或者 IIS 管理器中对站点进行关闭操作。

限定

Application_OnStart、Application_OnEnd、Session_OnStart、Session_OnEnd 四个事件的子例程中可使用的对象,详见下表

  Server 对象 Application 对象 Session 对象 其他任何内建对象
Application_OnStart    
Application_OnEnd    
Session_OnStart
Session_OnEnd  

利用 Global.asa 制作在线人数计数器

我们利用 Global.asa 文件中 Session 事件特性来实现一个在线人数的计数器,在每个用户第一次访问站点时,我们会将 Application 中保存的当前人数增加,当用户离开此站点并且 Session 超时后,我们会在 Application 中保存的当前人数减少。

下面是 Global.asa 文件中的源代码:

我们这里主要用了 Session_OnStart 、 Session_OnEnd 和 Application_OnStart 三个事件。

  • Application_OnStart 中的代码使得网站开启时初始化 Application 中的 visitor 为 0。
  • Session_OnStart 中的代码使得使得 Application 中的 visitor 加1。
  • Session_OnEnd 中的代码使得 Application 中的 visitor 减1。

将此 Global.asa 放置到站点的根目录下,然后你可以在你的 ASP 文件中访问到 Application  的 Visitor 的值了,如下代码:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%><%Dim numVisitorsnumVisitors = Application.Contents("visitors")Session.Timeout = 1%>
Global.asa 统计在线人数

当前在线人数:<%=numVisitors%>

示例代码下载

转载地址:http://evxal.baihongyu.com/

你可能感兴趣的文章
openstack 云服务上创建的虚拟机,主机名修改
查看>>
css3 贝塞尔曲线cubic-bezier(x1, y1, x2, y2)
查看>>
远程连接docker daemon,Docker Remote API
查看>>
C语言dll文件的说明以及生成、使用方法
查看>>
【Web API系列教程】1.3 — 实战:用ASP.NET Web API和Angular.js创建单页面应用程序(上)...
查看>>
java基础学习_面向对象(上)03_day08总结
查看>>
NG-ZORRO 7.3.1 发布,Ant Design 的 Angular 实现
查看>>
20180417PLSQL中sql语句格式化与注解问题
查看>>
Java 基础 之 while 循环
查看>>
顺丰今天上市了,王卫又成了民营快递业的首富
查看>>
前端和云端性能分析工具分析报告
查看>>
Jim Zemlin:加速开源创新,Linux 基金会超越 Linux
查看>>
.NET零基础入门05:委托与事件
查看>>
【阿里云MVP公益共创项目】服务数万爱心教师支教,推动中国渔业生态保护
查看>>
Linux命令复习和练习_03
查看>>
使用 github pages, 快速部署你的静态网页
查看>>
react 之 state 对象
查看>>
Java中的锁原理、锁优化、CAS、AQS
查看>>
“智能厨电+渠道精耕”,华帝迈出“关键一步”
查看>>
Scrapy爬虫(2)爬取新浪旅游图片
查看>>