分享
 
 
 

ASP六大对象介绍

王朝asp·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

ASP六大对象介绍

一、Application对象

Application对象是个应用程序级的对象,用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。

Application的属性:

方法如下:

Application对象没有内置的属性,但是我们可以自行创建其属性。

<% Application("属性名")=值 %>

其实大部分Application变量都存放在Contents集合中,当你创建一个新的Application变量时,其实就是在Contents集合中添加了一项。下面两个脚本是等效的:

<% Application("greeting")="hello!" %> 或 <% Application.contents("greeting")="hello!"由于Application变量存在集合里,所以如果想要全部显示,其方法我们已经多次使用,例如For Each循环。

<%

For Each item IN Application.Contents

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

next

%>

Application的方法:

Application的方法只有两个方法:一个是Lock,另一个是Unlock。其中Lock方法用于保证同一时刻只能一个用户对Application操作。Unlock则用于取消Lock方法的限制。如:

<%

Application.Lock

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

Application.Unlock

%>

Application的事件:

1、Application_OnStart()

当事件应用程序启动时触发。

2、Application_OnEnd()

此事件应用程序结束时触发。

这两个事件过程都是必须定义在Global.asp文件中,一般把连接数据的函数定义在这两个事件,然后放在Global.asp中。例如:

Sub Application_OnStart

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

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

End Sub

一个数组能够被定义成Application对象,不过这个数组只能作为一个对象保存,而不能用Application(0)取出其值。可以定义一个临时数组实现这种功能。如:

<%

dim Array()

Array=Application("array")

for i = 0 to ubound(array)

Response.write Array(i)

next i

%>

同样要修改这个Application对象也可以定义一个临时数组,把Application对象赋给数组,然后修改这个数组的元素,最后把数组赋回Application对象。如:

<%

dim Array()

Array=Application("array")

Array(0)="jeff"

Array(1)="zhu"

Application.lock

Application("array")=Array

Application.unlock

%>

二、ObjectContext对象

该对象用于控制Active Server Pages的事务处理。事务处理由Microsoft Transaction Server (MTS)管理。

事件

ObjectContext.OnTransactionAbort

由放弃的事务处理事件激发,在脚本完成处理后发生。

ObjectContext.OnTransactionCommit

由成功的事务处理事件激发,在脚本完成处理后发生。

方法

ObjectContext.SetAbort

显式的放弃一次事务处理。

ObjectContext.SetComplete

覆盖前面任何调用ObjectContext.SetAbort方法的调用。

三、Request对象

Request对象用于接受所有从浏览器发往你的服务器的请求内的所有信息。

集合

Request.ClientCertificate(key[SubField])

所有客户证书的信息的集合。对于Key,该集合具有如下的关键字:

Subject

证书的主题。包含所有关于证书收据的信息。能和所有的子域后缀一起使用。

Issuer

证书的发行人。包含所有关于证书验证的信息。除了CN外,能和所有的子域后缀一起使用。

VadidFrom

证书发行的日期。使用VBScript格式。

ValidUntil

该证书不在有效的时间。

SerialNumber

包含该证书的序列号。

Certificate

包含整个证书内容的二进制流,使用ASN.1格式。

对于SubField,Subject和Issuer关键字可以具有如下的子域后缀:(比如:SubjectOU或IssuerL)

C

起源国家。

O

公司或组织名称。

OU

组织单元。

CN

用户的常规名称。

L

局部。

S

州(或省)。

T

个人或公司的标题。

GN

给定名称。

I

初始。

当文件cervbs.inc(VBScript使用)或cerjavas.inc(Jscript使用)通过使用#INCLUDE导向包含在你的Active Server Page里时,下面两个标志可以使用:

ceCertPresent

指明客户证书是否存在,其值为TRUE或FALSE。

ceUnrecongnizedIssure

指明在该链表中的最后的证书的发行者是否未知,其值为TRUE或FALSE。

Request.Cookies(Cookie[(key).Attribute])

Cookie的集合。允许获得浏览器的Cookie。Cookie指明返回那一个Cookie。Key用于从Cookie字典中返回具有某一关键字的Cookie值。对于Attribute,你能使用属性HasKeys来确定某一Cookie是否具有子关键字。HasKeys的值为TRUE或FALSE。

Request.Form(Parameter)[(Index).Count]

填写在HTML的表单中所有的数据的集合。Parameter是在HTML表单中某一元素的名称。当某一参数具有不止一个值(比如,当在<SELECT>中使用MULTIPLE属性时)时,使用Index。当某一参数具有多值时,Count指明多值个数。

Request.QueryString(Varible)[(Index).Count]

查询字符串的所有值的集合。Varible是在查询字符串某一变量的名称。当某一变量具有多于一个值时,使用Index。当某一参数具有多值时,Count指明值的个数。

Request.ServerVaribles(Server Environment Variable)

环境变量的集合。允许读取HTTP头。你可以通过使用HTTP_前缀来读取任何头信息。比如,HTTP_USER_AGENT接受客户代理HTTP头(浏览器类型)。除此外,你可以使用下表所示的变量获得任何环境信息。

ALL_HTTP

客户端发送的所有HTTP标头,他的结果都有前缀HTTP_。

ALL_RAW

客户端发送的所有HTTP标头,其结果和客户端发送时一样,没有前缀HTTP_

APPL_MD_PATH

应用程序的元数据库路径。

APPL_PHYSICAL_PATH

与应用程序元数据库路径相应的物理路径。

AUTH_PASSWORD

当使用基本验证模式时,客户在密码对话框中输入的密码。

AUTH_TYPE

这是用户访问受保护的脚本时,服务器用于检验用户的验证方法。

AUTH_USER

代验证的用户名。

CERT_COOKIE

唯一的客户证书ID号。

CERT_FLAG

客户证书标志,如有客户端证书,则bit0为0。如果客户端证书验证无效,bit1被设置为1。

CERT_ISSUER

用户证书中的发行者字段。

CERT_KEYSIZE

安全套接字层连接关键字的位数,如128。

CERT_SECRETKEYSIZE

服务器验证私人关键字的位数。如1024。

CERT_SERIALNUMBER

客户证书的序列号字段。

CERT_SERVER_ISSUER

服务器证书的发行者字段

CERT_SERVER_SUBJECT

服务器证书的主题字段。

CERT_SUBJECT

客户端证书的主题字段。

CONTENT_LENGTH

客户端发出内容的长度。

CONTENT_TYPE

客户发送的form内容或HTTP PUT的数据类型。

GATEWAY_INTERFACE

服务器使用的网关界面。

HTTPS

如果请求穿过安全通道(SSL),则返回ON。如果请求来自非安全通道,则返回OFF。

HTTPS_KEYSIZE

安全套接字层连接关键字的位数,如128。

HTTPS_SECRETKEYSIZE

服务器验证私人关键字的位数。如1024。

HTTPS_SERVER_ISSUER

服务器证书的发行者字段。

HTTPS_SERVER_SUBJECT

服务器证书的主题字段。

INSTANCE_ID

IIS实例的ID号。

INSTANCE_META_PATH

响应请求的IIS实例的元数据库路径。

LOCAL_ADDR

返回接受请求的服务器地址。

LOGON_USER

用户登录Windows NT的帐号

PATH_INFO

客户端提供的路径信息。

PATH_TRANSLATED

通过由虚拟至物理的映射后得到的路径。

QUERY_STRING

查询字符串内容。

REMOTE_ADDR

发出请求的远程主机的IP地址。

REMOTE_HOST

发出请求的远程主机名称。

REQUEST_METHOD

提出请求的方法。比如GET、HEAD、POST等等。

SCRIPT_NAME

执行脚本的名称。

SERVER_NAME

服务器的主机名、DNS地址或IP地址。

SERVER_PORT

接受请求的服务器端口号。

SERVER_PORT_SECURE

如果接受请求的服务器端口为安全端口时,则为1,否则为0。

SERVER_PROTOCOL

服务器使用的协议的名称和版本。

SERVER_SOFTWARE

应答请求并运行网关的服务器软件的名称和版本。

URL

提供URL的基本部分。

方法

Request.BinaryRead(Count)

接收一个HTML表单的未经过处理的内容。当调用此方法时,Count指明要接收多少字节。在调用此方法后,Count指明实际上接收到多少个字节。

属性

Request.TotalBytes

查询体的长度,以字节为单位

四、Response对象

Response对象用于向客户端浏览器发送数据,用户可以使用该对象将服务器的数据以HTML的格式发送到用户端的浏览器,它与Request组成了一对接收、发送数据的对象,这也是实现动态的基础。下面介绍它常用的属性和方法。

1、Buffer属性

该属性用于指定页面输出时是否要用到缓冲区,默认值为False。当它为True时,直到整个Active Server Page执行结束后才会将结果输出到浏览器上。如:

<%Response.Buffer=True%>

<html>

<Head>

<title>Buffer示例</title>

</head>

<body>

<%

for i=1 to 500

response.write(i & "<br>")

next

%>

</body>

</html>

这页执行时,整个主页的所有内容会同时显示在浏览器上,这个主页会存在缓存区中直到脚本执行结束。

2、Expires属性

该属性用于设置浏览器缓存页面的时间长度(单位为分),必须在服务器端刷新。通过如下设置:

<%Response.Expires=0%>

通过在ASP文件中加入这一行代码,要求每次请求是刷新页面,因为Response一收到页面就会过期。

3、Write方法

该方法把数据发送到客户端浏览器,如:

<%Response.write "Hello,world!"%>

4、Redirect方法

该方法使浏览器可以重新定位到另一个URL上,这样,当客户发出Web请求时,客户端的浏览器类型已经确定,客户被重新定位到相应的页面。如:

<html>

<head>

<title>Redirect示例</title>

</head>

<body>

<form aciton="formjump.asp" method="post">

<select name="wheretogo">

<option selected value="fun">Fun</option>

<option value="news">News</option>

<option value="sample">Sample</option>

</select>

<input type=submit name="jump" value="Jump">

</form>

</body>

</html>

以上是提交的表单,下面是处理表单的文件formjump.asp:

<%response.buff=true%>

<html>

<head>

<title>Redirect示例</title>

</head>

<body>

<%

thisurl="http://www.tinyu.com/";

where=Request.form("wheretogo")

Select Case where

case "fun"

response.redirect thisurl & "/fun/default.asp"

case "news"

response.redirect thisurl & "/news/default.asp"

case "sample"

response.redirect thisurl & "/sample/default.asp"

End Select

%>

</body>

<html>

这个例子当用户选择了以后,按"Jump"按钮提交表单,服务器接到申请后调用formjump.asp判断后定位到相应的URL。不过这里有一点要注意,HTTP标题已经写入到客户浏览器,任何HTTP标题的修改必须在写入页内容之前,遇到这种问题时,可以如下做:

在文件的开始<@ Language=..>后写:

Response.Buffer=True

在结尾定:

Response.Flush

这里Flush是Response的一个方法,它必须是Buffer属性设置为True时才能使用,否则会产生一个运行模式错误。另外一个Clear方法也是用于清除被缓存的页面,同样要Buffer属性设置为True时才能使用。

5、End方法

该方法用于告知Active Server当遇到该方法时停止处理ASP文件。如果Response对象的Buffer属性设置为True,这时End方法即把缓存中的内容发送到客户并清除冲区。所以要取消所有向客户的输出民,可以先清除缓冲区,然后利用End方法。如:

<%

Response.buffer=true

On error resume next

Err.clear

if Err.number<>0 then

Response.Clear

Response.End

end if

%>

五、Server 对象:

Server 对象提供对服务器上的方法和属性的访问。其中大多数方法和属性是作为实用程序的功能服务的。

语法

Server.property|method

属性

ScriptTimeout:

ScriptTimeout 属性指定脚本在结束前最大可运行多长时间。 当处理服务器组件时,超时限制将不再生效。

语法 Server.ScriptTimeout = NumSeconds

参数 NumSeconds

指定脚本在被服务器结束前最大可运行的秒数。默认值为 90 秒。

注释

通过使用元数据库中的AspScriptTimeout属性可以为 Web 服务或 Web 服务器设置缺省的ScriptTimeout值。ScriptTimeout属性不能设置为小于在元数据库中指定的值。例如,如果NumSeconds设置为10,而元数据库设置包含了默认值90秒,则脚本在90秒后超时。但如果NumSeconds设置为100,则脚本在100秒后超时。

关于使用元数据库的详细信息,参阅 关于元数据库。

示例 以下示例中,如果服务器处理脚本超过 100 秒,将使之超时。

<% Server.ScriptTimeout = 100 %>

以下示例获取 ScriptTimeout 属性当前值,并将其存储在变量 TimeOut 中。

<% TimeOut = Server.ScriptTimeout %>

方法

CreateObject

CreateObject 方法创建服务器组件的实例。如果该组件执行了 OnStartPage 和 OnEndPage 方法,则此时就会调用 OnStartPage 方法。有关服务器组件的详细信息,请参阅 可安装的 ASP 组件 。

语法 Server.CreateObject( progID )

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有