Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7331694
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68080
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 14:20:50

下载本文示例代码

首先.asa是文件后缀名,它是Active Server Application的首字母缩写。Global.asa文件可以管理在ASP应用中两个非常苛刻的对象:Application、Session。

  它其实是一个可选文件,程序编写者可以在该文件中指定事件脚本,并声明具有会话和应用程序作用域的对象。该文件的内容不是用来给用户显示的,而是用来存储事件信息和由应用程序全局使用的对象。该文件必须存放在应用程序的根目录内。每个应用程序只能有一个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的标准文件格式如下:

  一、Session_onStart

  先看一个控制用户进入页面的代码:

  1,Global.asa(放在被调试的虚拟目录的根目录下面)

  然后调试当前虚拟目录下的任何文件,你会发现所有页面都跳转向
通过此“强制进入某页”的例子,可以想象当首页需要被关注的时候是非常有必要的。

  下面就以一个“在线人数”的例子来继续观察Session_OnStart和Session_OnEnd事件

  二、Session_onEnd

  2,Global.asa(放在被调试的虚拟目录的根目录下面)

3,online.asp

<%
if request.querystring("logout")="true" then
session.Abandon()
response.end
end if
%>
当前共有<%=Application("OnLine")%>在线
退出

  你发现在该页中只有一个Application("OnLine"),而且还是被显示引用的。那么其值来自何方?这正是Global.asa文件的关键所在。你可以在本机依次打开个窗口,进行进行关闭窗口或退出两种方法的调试。

  三、继续细化一下

  上面的程序你会发现:当进行“退出”连接后关闭窗口和直接关闭窗口效果是不一样的。因为Session存在时间的缘故,当直接进行关闭窗口,并不能触发Session_OnEnd事件,所以该如何实现这个几乎不可能的想法呢?

  大家都知道,当网页进行关闭的时候可以连带一个onunload事件,那么该onunload只要能执行Session的注销功能不就我们需要的吗?废话少说,将online.asp进行修改

  3,online.asp
<%
if request.querystring("logout")="true" then
session.Abandon()
response.end
end if
%>

当前共有<%=Application("OnLine")%>在线
退出

  注意,online.asp进行onunload的时候会打开exit.asp,那只要在exit.asp中再设置session.Abandon()不就OK了。

  4,exit.asp
<%session.Abandon()%>

当然,加了段Script脚本,目的是进行Session的注销以后立即进行关闭本身。那现在基本一个在线统计的Web应用就可以了。

首先.asa是文件后缀名,它是Active Server Application的首字母缩写。Global.asa文件可以管理在ASP应用中两个非常苛刻的对象:Application、Session。

  它其实是一个可选文件,程序编写者可以在该文件中指定事件脚本,并声明具有会话和应用程序作用域的对象。该文件的内容不是用来给用户显示的,而是用来存储事件信息和由应用程序全局使用的对象。该文件必须存放在应用程序的根目录内。每个应用程序只能有一个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的标准文件格式如下:

  一、Session_onStart

  先看一个控制用户进入页面的代码:

  1,Global.asa(放在被调试的虚拟目录的根目录下面)

  然后调试当前虚拟目录下的任何文件,你会发现所有页面都跳转向
通过此“强制进入某页”的例子,可以想象当首页需要被关注的时候是非常有必要的。

  下面就以一个“在线人数”的例子来继续观察Session_OnStart和Session_OnEnd事件

  二、Session_onEnd

  2,Global.asa(放在被调试的虚拟目录的根目录下面)

3,online.asp

<%
if request.querystring("logout")="true" then
session.Abandon()
response.end
end if
%>
当前共有<%=Application("OnLine")%>在线
退出

  你发现在该页中只有一个Application("OnLine"),而且还是被显示引用的。那么其值来自何方?这正是Global.asa文件的关键所在。你可以在本机依次打开个窗口,进行进行关闭窗口或退出两种方法的调试。

  三、继续细化一下

  上面的程序你会发现:当进行“退出”连接后关闭窗口和直接关闭窗口效果是不一样的。因为Session存在时间的缘故,当直接进行关闭窗口,并不能触发Session_OnEnd事件,所以该如何实现这个几乎不可能的想法呢?

  大家都知道,当网页进行关闭的时候可以连带一个onunload事件,那么该onunload只要能执行Session的注销功能不就我们需要的吗?废话少说,将online.asp进行修改

  3,online.asp
<%
if request.querystring("logout")="true" then
session.Abandon()
response.end
end if
%>

当前共有<%=Application("OnLine")%>在线
退出

  注意,online.asp进行onunload的时候会打开exit.asp,那只要在exit.asp中再设置session.Abandon()不就OK了。

  4,exit.asp
<%session.Abandon()%>

当然,加了段Script脚本,目的是进行Session的注销以后立即进行关闭本身。那现在基本一个在线统计的Web应用就可以了。

下载本文示例代码


Global.asa是什么,有什么用Global.asa是什么,有什么用Global.asa是什么,有什么用Global.asa是什么,有什么用Global.asa是什么,有什么用Global.asa是什么,有什么用Global.asa是什么,有什么用Global.asa是什么,有什么用Global.asa是什么,有什么用Global.asa是什么,有什么用Global.asa是什么,有什么用Global.asa是什么,有什么用Global.asa是什么,有什么用Global.asa是什么,有什么用Global.asa是什么,有什么用
阅读(244) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~