详细介绍ASP的六大对象(上)

我们都知道,ASP中的六大内置对象,分别是application,createobject,request,response,session,server。下面详细介绍这六大对象。
一、Application对象
Application对象是个应用程序级的对象,用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。
1、Application的属性:
方法如下:
Application对象没有内置的属性,但是我们可以自行创建其属性。
<% Application("属性名")=值 %>
其实大部分Application变量都 存放在Contents集合中,当你创建一个新的Application变量时,其实就是在Contents集合中添加了一项。下面两个脚本是等效的:
<% Application("greeting")="hello!" %> 或 <% Application.contents("greeting")="hello!"由于Application变量存在集合里,所以如果想要全部显 示,其方法我们已经多次使用,例如For Each循环。
以下为引用的内容:

双击代码全选

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

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

<pre class="brush:java;toolbar:false;"><% 

For Each item IN Application.Contents 

Response.write("<br>"&item&Application.Contents(item)) 

next 

%></pre><p>

</p><ul><p>

</p><p>2、 Application的方法:</p><p>Application的方法只有两个方法:一个是Lock,另一个是 Unlock。其中Lock方法用于保证同一时刻只能一个用户对Application操作。Unlock则用于取消Lock方法的限制。 如:</p><p>以下为引用的内容:</p><pre class="brush:java;toolbar:false;"><% 

Application.Lock 

Application("visitor_num")=Application("visitor_num")+1

Application.Unlock 

%></pre><p>

</p><p>

</p><p>

</p><p>3、 Application的事件:</p><li><p>Application_OnStart():当事件应用程 序启动时触发。</p></li><li><p>Application_OnEnd():此事件应用 程序结束时触发。</p></li></ul><p>这两个事件过程都是必须定义在 Global.asp文件中,一般把连接数据的函数定义在这两个事件,然后放在Global.asp中。例如:</p><p>以 下为引用的内容:</p><pre class="brush:java;toolbar:false;">Sub Application_OnStart 

Application("tt18_ConnectionString") = "driver={SQL  

Server};server=jeff;uid=sa;pwd=;database=test"  

End Sub</pre><p>

</p><pre class="brush:c#;"><ul><p>

</p><p> 一个数组能够被定义成Application对象,不过这个数组只能作为一个对象保存,而不能用Application(0)取出其值。可以定义一个临时 数组实现这种功能。如:</p><p>以下为引用的内容:</p><pre class="brush:java;toolbar:false;"><% 

dim Array() 

Array=Application("array"

for i = 0 to ubound(array) 

Response.write Array(i) 

next i 

%></pre><p>

</p><p>

</p><p>

</p><p> 同样要修改这个Application对象也可以定义一个临时数组,把Application对象赋给数组,然后修改这个数组的元素,最后把数组赋 回</p><p>4、Application对象</p><p>如:以下为引用的内容:< /p><pre class="brush:java;toolbar:false;"><% 

dim Array() 

Array=Application("array"

Array(0)="jeff"

Array(1)="zhu"

Application.lock

Application("array")=Array 

Application.unlock 

%></pre><p>

</p><p>

</p><p>

</p><p> 二、ObjectContext对象</p><p>该对象用于控制Active Server Pages的事务处理。事务处理由Microsoft Transaction Server (MTS)管理。</p><p>1、事件< /p><li><p>ObjectContext.OnTransactionAbort 由放弃的事务处理事件激发,在脚本完成处理后发生。</p>< /li><li><p>ObjectContext.OnTransactionCommit 由成功的事务处理事件激发,在脚本完成处理后发生。</p></li></ul><p>2、方 法</p><ul><li><p>ObjectContext.SetAbort   显示的放弃一次事务处理。</p>< /li><li><p>ObjectContext.SetComplete  覆盖前面任何调用ObjectContext.SetAbort方法的调用。</p></li>< /ul><p>三、Request对象</p><p>Request对象用于接受所有从浏览器发往你的服务器 的请求内的所有信息。</p><p>1、集合< /p><ul><li><p>Request.ClientCertificate(key[SubField])  所有客户证书的信息的集合。对于Key,该集合具有如下的关键字:</p>< /li><li><p>Subject  证书的主题。包含所有关于证书收据的信息。能和所有的子域后缀一起使用。</p>< /li><li><p>Issuer  证书的发行人。包含所有关于证书验证的信息。除了CN外,能和所有的子域后缀一起使用。</p>< /li><li><p>VadidFrom 证书发行的日期。使用VBscript格式。</p></li><li><p>ValidUntil  证书不在有效的时间。</p></li><li><p>SerialNumber 包含该证书的序列号。</p></li><li><p>Certificate 包含整个证书内容的二进制流,使用ASN.1格式。</p></li></ul><p>对于 SubField,Subject和Issuer关键字可以具有如下的子域后缀:(比如:SubjectOU或 IssuerL)</p><ul><li><p>C  起源国家。</p></li><li><p>O 公司或组织名称。</p></li><li><p>OU  组织单元。</p></li><li><p>CN  用户的常规名称。</p></li><li><p>L  局部。</p></li><li><p>S  州(或省)。</p></li><li><p>T  个人或公司的标题。</p></li><li><p>GN  给定名称。</p></li><li><p>I  初始。</p></li></ul><p>当文件cervbs.inc(VBscript使用)或 cerJavas.inc(Jscript使用)通过使用#INCLUDE导向包含在你的Active Server Page里时,下面两个标志可以使用:</p><ul><li><p>ceCertPresent  指明客户证书是否存在,其值为TRUE或FALSE。</p>< /li><li><p>ceUnrecongnizedIssure 指明在该链表中的最后的证书的发行者是否未知,其值为TRUE或FALSE。</p>< /li><li><p>Request.Cookies(Cookie[(key).Attribute])  Cookie的集合。允许获得浏览器的Cookie。Cookie指明返回那一个Cookie。Key用于从Cookie字典中返回具有某一关键字的 Cookie值。对于Attribute,你能使用属性HasKeys来确定某一Cookie是否具有子关键字。HasKeys的值为TRUE或 FALSE。</p></li><li><p>Request.Form(Parameter) [(Index).Count] 填写HTML的表单中所有的数据的集合。Parameter是在HTML表单中某一元素的名称。当某一参数具有不止一个值(比如,当 在<SELECT>中使用MULTIPLE属性时)时,使用Index。当某一参数具有多值时,Count指明多值个 数。</p></li><li><p>Request.QueryString(Varible) [(Index).Count]查询字符串的所有值的集合。Varible是在查询字符串某一变量的名称。当某一变量具有多于一个值时,使用Index。 当某一参数具有多值时,Count指明值的个数。</p>< /li><li><p>Request.ServerVaribles(Server Environment Variable)环境变量的集合。允许读取HTTP头。你可以通过使用HTTP_前缀来读取任何头信息。比如,HTTP_USER_AGENT接受客户 代理HTTP头(浏览器类型)。</p></li></ul><p>除此外,你可以使用下表所示的变量 获得任何环境信息。</p><p>ALL_HTTP客户端发送的所有HTTP标头,他的结果都有前缀HTTP_。< /p><p>ALL_RAW客户端发送的所有HTTP标头,其结果和客户端发送时一样,没有前缀HTTP_< /p><p>APPL_MD_PATH应用程序的元数据库路径。< /p><p>APPL_PHYSICAL_PATH与应用程序元数据库路径相应的物理路径。< /p><p>AUTH_PASSWORD当使用基本验证模式时,客户在密码对话框中输入的密码。< /p><p>AUTH_TYPE这是用户访问受保护的脚本时,服务器用于检验用户的验证方法。</p>

  <div style=" display:block; width:100%; padding-top:15px; margin:0px auto; height:90px; overflow:hidden; text-align:center;"><script src="/2011/ads/tech_content_end_468x60.js"></script><script type="text/javascript"><!--

google_ad_client = "pub-5977682010997732";

/* 468x60,  09-9-9 */

google_ad_slot = "4048873275";

google_ad_width = 468;

google_ad_height = 60;

//-->

</script>

<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

</script><ins style="display:inline-table;border:none;height:60px;margin:0;padding:0;position:relative;visibility:visible;width:468px"><ins id="aswift_1_anchor" style="display:block;border:none;height:60px;margin:0;padding:0;position:relative;visibility:visible;width:468px"><iframe allowtransparency="true" hspace="0" marginwidth="0" marginheight="0" onload="var i=this.id,s=window.google_iframe_oncopy,H=s&&s.handlers,h=H&&H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&&d&&(!d.body||!d.body.firstChild)){if(h.call){i+='.call';setTimeout(h,0)}else if(h.match){i+='.nav';w.location.replace(h)}s.log&&s.log.push(i)}" vspace="0" id="aswift_1" name="aswift_1" style="left:0;position:absolute;top:0;" frameborder="0" height="60" scrolling="no" width="468"></iframe></ins></ins>

</div>

        </pre>

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Grow your business fast with

Suku