ASP六大内置对象详解

来源:电脑软硬件应用网时间:2012-04-10

  一、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

  用户登录asp.cn/ class=wordstyle>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

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

发表评论

最新评论(共0条)