<<<返回

在Active Server Pages中结合对象和组件
Active Server Pages包括了大量内嵌对象和可安装的ActiveX组件。这些对象以及组件都可以用来拓展你的Active Server Pages的功能，但是确切的什么是对象和组件呢？ 一个对象是典型的具有方法、属性或者集合的东西，其中对象方法决定了我们可以用这个对象作什么事情。（还记得response对象的write()方法吧)，对象的属性 可以读取出来了解对象状态或者设置对象状态。对象的集合是由很多不同的和对象有关系的键和值的配对对组成的。 举一个日常的例子，书籍“ASP教程”是一个对象，这个对象包含的方法决定了你可以怎样处理它，比如说，去读它，送人作为礼物，当作敲门的工具，甚至撕得粉碎，只要你愿意。对象的属性，这本书的页数，作者什么的。最后，对象的集合，包含了许多键和值的配对：每一页的页码就是键，那么值就是相对应于页码的这页的内容。
一个ActiveX组件和Active Server Pages内嵌对象十分类似，不过，当你使用Active Server Pages时，二者之间还是存在着明显的差异，首先，一个组件可能包含不只一个对象，其次，在你使用组件之前，将要明确的创建一个实例。
VBScript和JScript都包括一些对象，例如，无论利用VBScript和JScript，你都可以进入处理Dictionary对象。Dictionary并不是Active Server Page的正式部分。但是你可以利用Active Server Pages脚本来建立它，这是一个利用VBScript的例子：
<html>
<%
Set Mydict=Server.CreatObject(“Scripting.Dictionary”)
MyDict.add “电子商务”, “http://207.153.210.86/intro”
MyDict.add “BBS”, “http://www.magicw3.com/bbs”
MyDcit.add “广告联盟”, “http://www.magicw3.com/banner”
%>
我的字典中有<%=Mydict.count%>个记录。
<br>
其中第一个记录是<%=MyDict.item(“电子商务”)%>。
</html>
当这个脚本执行的时候，Dictionary对象的一个实例将会生成，然后，三个键以及相对应的值添加到Dictionary对象中，最后，显示出这个Dictionary对象的两个属性。显示结果如下：
我的字典中有3个记录。
其中第一个记录是http://207.153.210.86/intro
例子中的第一个脚本语句是利用Active Server Pages建立一个新的ActiveX对象实例的常用方法。Server.CreatObject是建立一个对象实例。在这个例子中，变量MyDict指向一个Dictionary对象实例。
当一个对象实例建立之后，就可以调用它的方法，例如，利用Dictionary对象的add方法就可以在这个Dictionary中添加新的记录。例如用add方法配对添加键“电子商务”和相应的值“http://207.153.210.86/intro”。
当一个对象的实例建立之后，你还可以进入处理它的属性，在这里面Count属性用来统计Dictionary中的记录数量。item属性用来根据相应的键来读取对应的值。
最后，你处理完这个对象的实例后，还可以消除它。当然，在服务器进行完这个Active Server Pages的进程后，会自动消除这个对象实例，因此，你完全可以不用去亲自处理这种过程。不过，如果需要的话，你依然可以利用将特定的变量，例如现在的Mydict指向一个新的值或者就是nothing来消除这个实例。例如这样
<% set MyDict=Nothing %>
尽管Dictionary对象并不是Active Server Pages正式部分，这个例子还是能够表明如何使用Active Server Pages对象，你可以调用Server.CreatObject()方法来产生一个对象的实例。在你产生了新的对象后，你可以调用其方法以及读取其属性。
你已经接触了一个内嵌对象的例子－Response对象。你已经可以利用Response对象将表达式输出到浏览器上。不过，Response对象还有相当数量的其他重要属性、集合以及方法。
下面的章节中将会详细介绍每一种内嵌对象的使用。下面是对每一种内嵌的快速浏览：
·application对象：application对象被用来存储一个应用中所有用户共享的信息。例如，你可以利用application对象来在你的站点的不同用户间传递信息。
·request对象：request对象可以被用来访问所有从浏览器到服务器间的信息，你也就可以利用request对象来接受用户在html主页的form中的信息。
·response对象：response对象用来将信息发送回给浏览器。你可以利用response对象将你的脚本语言结果输出到浏览器上。
·server对象：server对象提供你运用许多server端的应用函数。例如，你可以利用server对象来控制你的脚本语言在超过时限前的运行时间。你也可以利用server对象来创建其他对象的实例。
·session对象：session对象被用来存储一些普通用户其滞留期间的信息，你可以用Session对象来储存一个用户在访问你的站点的滞留时间。
·ObjectContext对象：ObjectContext对象可以被用来控制Active Server Pages的执行。这种执行过程由Microsoft Transaction Server(MTS)来进行管理。内嵌对象不同于正常的对象。在你利用内嵌对象的脚本时，你不需要首先创建一个它的实例。在整个网站应用中内嵌对象的所有方法、集合以及属性都是自动可访问的。