/*-------------------ASP文档参考集-----------------------*/
*-->作者:草履虫
*-->时间:2007-4.28---2007-4.30(原来是自己编写的手册,现在发在这里)
*-->联系:caolvchong@gmail.com
*-->文档功能:
1.复习了ASP,加深了对ASP结构的理解和ASP的体会
2.可以用来做ASP参考,自己写的,参考起来更方便

这是第四部分:Global.asa

/*---------------------------关于ASP组件------------------------*/
  ASP组件就不叙述了,遇到重要的组件(主要是第三方的组件),如上传组件等等,再专门
  介绍
/*==============================END==================================*/

/*-----------------------Global.asa-------------------------*/
.asa是文件后缀名,它是Active Server Application的首字母缩写。Global.asa文件可以
管理在ASP应用中两个非常苛刻的对象:Application、Session  
Global.asa是一个可选文件,程序编写者可以在该文件中指定事件脚本,并声明具有会话和
应用程序作用域的对象。该文件的内容不是用来给用户显示的,而是用来存储事件信息和由
应用程序全局使用的对象。该文件必须存放在应用程序的根目录内。每个应用程序只能有一
个Global.asa文件
关于Global.asa文件最常见的错误概念是它能为一般的使用的函数和子程序用作书库。Global.asa文件仅能用于创建对象的引用和俘获启动,以及结束Application对象和Session对象。 
Global.asa文件主要基于会话级事件被访问,在以下三种情况下被调用: 
  1.当Application_OnStart或Application_OnEnd事件被触发。 
  2.当Session_OnStart或Session_OnEnd事件被触发。 
  3.当引用一个在Global.asa文件里被实例化的对象(Object)。

Global.asa的标准文件格式如下:
<SCRIPT LANGUAGE="VBScript" RUNAT="Server"> 
Sub Application_OnStart 
'Application_OnStart 当任何客户首次访问该应用程序的首页时运行 
End Sub

Sub Session_OnStart 
'Session_OnStart 当客户首次运行 ASP 应用程序中的任何一个页面时运行 
End Sub

Sub Session_OnEnd 
'Session_OnEnd 当一个客户的会话超时或退出应用程序时运行 
End Sub

Sub Application_OnEnd 
'Application_OnEnd 当该站点的 WEB 服务器关闭时运行 
End Sub 
</SCRIPT>

两个关于Global.asa经典的例子: 
1.强制进入首页,就是如果第一次访问网站,强制定位到首页的办法:
  <SCRIPT LANGUAGE="VBScript" RUNAT="Server"> 
    Sub Session_OnStart '只要是用户第一次登录本站,则会跳转到首页 
      response.redirect("首页地址") 
    End Sub 
  </SCRIPT>

2.网站在线人数的统计:
  <SCRIPT LANGUAGE="VBScript" RUNAT="Server"> 
  Sub Application_OnStart 
  ' 当服务器开启时,设置用户计数器为0 
  Application("ActiveUsers") = 0 
  End Sub

  Sub Session_OnStart 
  '设置Session对象的有效时间为20分钟(也可以更长,但是越长对服务器的
  '资源占用越多,因为服务器不接受少于20分钟的有效时间,所以设置少于20
  '分钟的有效时间是无效的) 
  Session.Timeout = 20 
  ' 当开始一个Session时用户计数器加1 
  Application.Lock 
  Application("ActiveUsers") = Application("ActiveUsers") + 1 
  Application.UnLock 
  End Sub 
  
  Sub Session_OnEnd 
  ' 当结束一个Session时用户计数器减1 
  Application.Lock 
  Application("ActiveUsers") = Application("ActiveUsers") - 1 
  Application.UnLock 
  End Sub 
  </SCRIPT>

http://www.jb51.net/article/10522.htm

ASP的Global.asa使用说明的更多相关文章

  1. ASP入门(十五)- Global.asa

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

  2. ASP.NET学习笔记(三)ASP Global.asa 文件

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

  3. ASP.NET Global.asax详解

    最近在研究bbsmax的代码,但是一直不知道入口在哪里,然后就对各个文件分析了,然后终于在对global.asax文件查看的时候看到Application_BeginRequest才明白入口,所以现在 ...

  4. ASP.NET Global.asax详解【转】

    global.asax是一个文本文件,它提供全局可用代码.这些代码包括应用程序的事件处理程序以及会话事件.方法和静态变量.有时该文件也被称为应用程序文件. global.asax 文件中的任何代码都是 ...

  5. ASP.NET Global 全局事件处理

    添加Global文件,名字不要改 Global类说明: using System; using System.Collections.Generic; using System.IO; using S ...

  6. asp.net Global.asax 方法的使用和说明

    Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法你可以使用这个文件实现应用程序安全性以及其它一些任务下面让我们详细看一 ...

  7. asp.net Global.asax 不运行解决

    asp.net application的站点发布后 Global.asax 未运行,搞了好久终于解决, 解决方法如下: publish设置 该设置经测试在win server 2003 和2008 都 ...

  8. Asp.net Global 定时执行

    在复杂的业务应用程序中,有时候会要求一个或者多个任务在一定的时间或者一定的时间间隔内计划进行,比如定时备份或同步数据库,定时发送电子邮件,定期处理用户状态信息,支付系统中定期同步异常账单等等,我们称之 ...

  9. ASP.NET MVC @helper使用说明

    简单的 @helper 方法应用场景 Razor中的@helper语法让您能够轻松创建可重用的方法,此方法可以在您的视图模板中封装输出功能.他们使代码能更好地重用,也使代码更具有可读性. 在我们定义@ ...

随机推荐

  1. C++源码实现:21种常用设计模式

    C++源码实现:21种常用设计模式一直以来在设计模式的学习中,都是出现java的源码,这对学习C++的极度不友好.本工程是基于C++实现21种常用的设计模式,里面包含了实例代码和示例.编写的时候在学习 ...

  2. DNS隐蔽通道 是可以通过dig 子域名来追踪其真实IP的

    比如a.friendskaka.com 是我的外发子域名,那么可以按照下面两个命令来追踪IP: bonelee@bonelee-VirtualBox:~/桌面$ dig auth.a.friendsk ...

  3. C# SuperSocket服务端入门(一)

    1,新建一个控制台应用程序,.NET版本4.0 2,添加SuperSocket(1.6.1).Binaries\Net40\Debug  目录下的: SuperSocket的dll文件( log4ne ...

  4. bzoj 2005 & 洛谷 P1447 [ Noi 2010 ] 能量采集 —— 容斥 / 莫比乌斯反演

    题目:bzoj 2005 https://www.lydsy.com/JudgeOnline/problem.php?id=2005   洛谷 P1447 https://www.luogu.org/ ...

  5. Pet(dfs)

    http://acm.hdu.edu.cn/showproblem.php?pid=4707 题意:判断距离大于D的点有多少个. 思路: 邻接表建图,dfs每一个点,记录步数. #include &l ...

  6. django-2的路由层(URLconf)

    URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码 ...

  7. Vue 函数

    1.转换为大写字符 .toUpperCase() 2.字符串反转  this.message = this.message.split('').reverse().join('') 3.从index开 ...

  8. .Net Core学习(一)

    1.安装.Net Core https://www.microsoft.com/net/core#windows 2.创建一个.Net Core项目,win+R调出控制台,输入下面命令 mkdir a ...

  9. buf.readInt32LE函数详解

    offset {Number} 0 noAssert {Boolean} 默认:false 返回:{Number} 从该 Buffer 指定的带有特定尾数格式(readInt32BE() 返回一个较大 ...

  10. 【python】os.getcwd和getcwdu

    print os.getcwd(), type(os.getcwd()) print os.getcwdu(), type(os.getcwdu()) 结果如下: C:\Users\Administr ...