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组成了一对接收、发送数据的对象,这也是实现动态的基础。下面介绍它常用的属性和方法。
