ASP中遍历和操作Application对象的集合

为了能够正常使用,必须把它们放到服务器上的一个虚拟应用程序内,并且把所提供的global.asa文件放到该应用程序的根目录中。最简单的办法是把global.asa文件放到缺省Web网站的根目录(缺省情况下是C:/InetPub/WWWRoot)中。

对任何已有的global.asa文件重命名是一个好办法,可以在以后对该文件进行恢复。

1. 显示Application集合的内容

ASPCounter对象是StaticObjects集合的一个成员(通过<OBJECT>元素进行定义),但是其余部份(由Server.CreateObject实例化)是Contents集合的成员。

可以看到使用global.asa例子网页放到这些集合中的值,这在前面已经看到:

<!-- Declare instance of the ASPCounter component with
application-level scope //-->
<OBJECT ID=”ASPCounter” RUNAT=”Server” SCOPE=”Applicatoin”
PROGID=”MSWC.Counters”>
</OBJECT>
...
...
<SCRIPT LANGUAGE=”VBScript” RUNAT=”Server”>
Sub Application_onStart()
‘Create an instance of an ADO Connection with application-level scope
Set Application(“ADOConnection”) = Server.CreateObject(“ADODB.Connection”)
Dim varArray(3) ‘Create a Variant array and fill it
varArray(0) = “This is a”
varArray(1) = “Variant array”
varArray(2) = “stored in the”
varArray(3) = “Application object”
Application(“Variant_Array”) = varArray ‘Store it in thd Application
Application(“Start_Time”) = CStr(Now) ‘Store the date/time as a string
Application(“Visit_Count”) = 0 ‘Set counter variable to zero
End Sub
...
...
</SCRIPT>

(1) 遍历Contents集合的代码

为了遍历Contents集合,可使用一个For Each ... Next结构。集合中的每一项可以是一个简单的Variant类型变量、一个Variant数组或者一个对象的引用。因为需要对每种类型的值进行不同的处理,所以就不得不对每一个进行检查来判别其类型。

在VBScript中可使用VarType函数完成这个工作。这里使用IsObject和IsArray函数代替:

For Each objItem in Application.Contents
If IsObject(Application.Contents(objItem)) Then
Response.Write “Object reference: ‘” & objItem & “’

ElseIf IsArray(Application.Contents(objItem)) Then
Response.Write “Array: ‘” & objItem & “’ contents are:

VarArray = Application.Contents(objItem)
‘Note: the following only works with a one-dimensional array
For intLoop = 0 To UBound(varArray)
Response.Write “ Index(“ & intLoop & “) = “ & _
VarArray(intLoop) & “

Next
Else
Response.Write “Variable: ‘” & objItem & “’ = “ _
& Application.Contents(objItem) & “

End If
Next

注意程序如何从Application对象检索该数组。将其分配给一个局部(Variant)变量,使用下面的语句:

varArray = Application.Contents(objItem)

使用UBound函数可以查找出数组的大小(元素的数量),这个值可以作为遍历的终止条件:

For intLoop = 0 UBound(varArray)

这个例子是一维数组,并将只显示这样的一个数组的内容。可根据需要编辑代码以处理多维数组,例如:

For intLoop = 0 To UBound(varArray)
IntNumberOfDimensions = UBound(varArray, 1)
For intDimension = 0 To intNumberOfDimensions
Response.Write “ Index(“ & intLoop & “) = “ _
& varArray(intLoop, intDimension)
Next
Response.Write “”
Next

(2) 遍历StaticObjects集合的代码

StaticObjects集合包含了所有在global.asa中使用<OBJECT>元素声明的对象引用。因为每个条目都是一个对象变量,可用简单些的代码对这个数组进行遍历。我们将输出对象的名字(在ID属性中原有的定义):

For Each objItem in Application.StaticObjects
If IsObject(Application.StaticObjects(objItem)) Then
Response.Write “<OBJECT> element: ID=’” & objItem & “’

End If
Next

时间: 2024-10-05 10:45:19

ASP中遍历和操作Application对象的集合的相关文章

Lua中遍历文件操作代码实例

  这篇文章主要介绍了Lua中遍历文件操作代码实例,本文直接给出示例代码,需要的朋友可以参考下 写的一个关于遍历文件的程序段 记录一下咯 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 --[[检查所有.txt文件 比如A.txt中第一行规定有20列,但是在X行中多输入一个Tab,则输出:A表的X行填写不规范,行末有多余填写 ]]   getinfo = io.popen('dir .

javascript asp教程第十一课--Application 对象_ASP基础

Overview: The Application Object represents a collection of ASP pages. The Application object has zero (0) properties, two (2) collections, two (2) methods, and two (2) events. Get Started: Below are a couple scripts for lesson11. <%@LANGUAGE="Jav

在ASP中利用&amp;quot;正则表达式&amp;quot; 对象实现UBB风格的论坛(转)

在ASP中利用"正则表达式" 对象实现UBB风格的论坛    转贴者语:无意中在中华网发现了此文,说的就是本站论坛的UBB风格的实现原理,所以贴出来和大家一起分享. 我们谈到在ASP中如何利用"正则表达式"对象来实现各种数据的校验,文中描述了正则表达式对象的强大功能,接下来,我们来看看有关"正则表达式"对象的其他功能.当我们在网上冲浪的时候,尤其是浏览各类论坛的时候,经常会见到"UBB代码"这个词语.什么是UBB代码呢?UBB

在ASP.NET中使用Session与Application 对象(续)

application|asp.net|session|对象 Figure 3 Caching The amount of data you can reach at any level is different, but the right doses are determined on a per-application basis.Also different from layer to layer is the time needed to retrieve data. Session,

Java中使用JCOM操作Office对象_JSP编程

通过使用COM技术,我们用微软Office应用程序能够建立很多应用程序扩展,但是Java开发人员却无法享受它带来的便利--除非他们拥有方便的Java访问COM的途径(Java-to-COM桥).使用JCom的时候,你可以在Java中控制几乎所有的COM对象,而且它还带有一些用于Excel的强大的辅助类. 在你每次编写用HTML表格样式或Java表格对象显示数据的应用程序的时候,通常都需要带有"导出到Excel"功能.那么头疼的问题就出现了.怎么样实现这种功能呢?在HTML中显示的可以在

Java中使用JCOM操作Office对象

通过使用COM技术,我们用微软Office应用程序能够建立很多应用程序扩展,但是Java开发人员却无法享受它带来的便利--除非他们拥有方便的Java访问COM的途径(Java-to-COM桥).使用JCom的时候,你可以在Java中控制几乎所有的COM对象,而且它还带有一些用于Excel的强大的辅助类. 在你每次编写用HTML表格样式或Java表格对象显示数据的应用程序的时候,通常都需要带有"导出到Excel"功能.那么头疼的问题就出现了.怎么样实现这种功能呢?在HTML中显示的可以在

Lua中遍历文件操作代码实例_Lua

写的一个关于遍历文件的程序段  记录一下咯 --[[检查所有.txt文件 比如A.txt中第一行规定有20列,但是在X行中多输入一个Tab,则输出:A表的X行填写不规范,行末有多余填写 ]] getinfo = io.popen('dir ..//file /b /s') all = getinfo:read('*all') local filenameList = io.open("filename.txt", "wb") filenameList:write(&

javascript asp教程第十一课--Application 对象

Overview: The Application Object represents a collection of ASP pages. The Application object has zero (0) properties, two (2) collections, two (2) methods, and two (2) events. Get Started: Below are a couple scripts for lesson11. <%@LANGUAGE="Jav

jQuery学习7 操作JavaScript对象和集合的函数_jquery

删除字符串首尾空字符:$.trim() 像很多高级语言都提供了类似的函数,jQuery类库也提供了这样的函数.具体用法:$.trim(value)从已传入的字符串里删除首尾空白字符并返回结果. 对属性和集合进行迭代: 在JavaScript操作数组和对象可以采用下面的方法: var anArray = ['one','two','three']; for(var n = 0; n < anArray.length; n++){...} var anObject = {one:1, two:2,