.NET面试题

当前位置: 面试问题网 > .NET面试题 > 介绍一下ASP的内置对象及作用

介绍一下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(“
  ”&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表单中某一元素的名称。当某一参数具有不止一个值(比如,当在中使用
  
   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
  
   查询体的长度,以字节为单位
  
   四、Response对象
  
   Response对象用于向客户端浏览器发送数据,用户可以使用该对象将服务器的数据以HTML的格式发送到用户端的浏览器,它与Request组成
  
   了一对接收、发送数据的对象,这也是实现动态的基础。下面介绍它常用的属性和方法。
  
   1、Buffer属性
   该属性用于指定页面输出时是否要用到缓冲区,默认值为False。当它为True时,直到整个Active Server Page执行结束后才会将结果输出
  
   到浏览器上。如:
   <%Response.Buffer=True%>
  
  
   Buffer示例
  
  
   <%
   for i=1 to 500
   response.write(i & “
  ”)
   next
   %>
  
  
   这页执行时,整个主页的所有内容会同时显示在浏览器上,这个主页会存在缓存区中直到脚本执行结束。
  
   2、Expires属性
   该属性用于设置浏览器缓存页面的时间长度(单位为分),必须在服务器端刷新。通过如下设置:
   <%Response.Expires=0%>
   通过在ASP文件中加入这一行代码,要求每次请求是刷新页面,因为Response一收到页面就会过期。
  
   3、Write方法
   该方法把数据发送到客户端浏览器,如:
   <%Response.write “Hello,world!”%>
  
   4、Redirect方法
   该方法使浏览器可以重新定位到另一个URL上,这样,当客户发出Web请求时,客户端的浏览器类型已经确定,客户被重新定位到相应的页
  
   面。如:
  
  
   Redirect示例
  
  
  
  
  
   以上是提交的表单,下面是处理表单的文件formjump.asp:
   <%response.buff=true%>
  
  
   Redirect示例
  
  
   <%
   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
   %>
  
  
   这个例子当用户选择了以后,按”Jump”按钮提交表单,服务器接到申请后调用formjump.asp判断后定位到相应的URL。不过这里有一点要注
  
   意,HTTP标题已经写入到客户浏览器,任何HTTP标题的修改必须在写入页内容之前,遇到这种问题时,可以如下做:
   在文件的开始后写:
   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.number0 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 )
  
   参数 progID 指定要创建的对象的类型。progID 的格式为 [Vendor.] component[.Version]。
  
   注释 默认情况下,由 Server.CreateObject 方法创建的对象具有页作用域。这就是说,再当前 ASP 页处理完成之后,服务器将自动破坏这些
  
   对象。要创建有会话或应用程序作用域的对象,可以使用 标记并设置 SESSION 或 APPLICATION 的 SCOPE 属性,也可以在对话及应
  
   用程序变量中存储该对象。
   例如,在如下所示的脚本中,当 Session 对象被破坏,即当对话超时时或 Abandon 方法被调用时,存储在会话变量中的对象也将被破坏。
   <% Set Session(“ad”) = Server.CreateObject(“MSWC.AdRotator”)%>
   可以通过将变量设置为 Nothing 或新的值来破坏对象,如下所示。第一个例子释放 ad 对象,第二个例子用字串代替 ad 。
   <% Session (“ad”) = Nothing %>
   <% Session (“ad”) = ” Other Valum ” %>
   不能创建与内建对象同名的对象实例。 例如,下列脚本将返回错误。
   <% Set Response = Server.CreateObject(“Response”) %>
  
   示例 <% Set MyAd = Server.CreateObject(“MSWC.AdRotator”) %>
   上面的例子创建一个名为 MyAd 的 MSWC.AdRotator 服务器组件,MSWC.AdRotator 组件可用于在 Web 页上的自动轮换广告。
   关于服务器组件的详细信息, 请参阅 Creating Components for ASP.
  
   HTMLEncode HTMLEncode方法对指定的字符串应用 HTML 编码。
  
   语法 Server.HTMLEncode( string )
  
   参数 string 指定要编码的字符串。
  
   示例脚本 <%= Server.HTMLEncode(“The paragraph tag:

  ”) %>
  
   输出 The paragraph tag:

  
  
   注意 以上输出将被 Web 浏览器显示为The paragraph tag:

  如果查看一下源文件或以文本方式打开一个 Web 页,您就可以看到已编码的
  
   HTML。
  
   MapPath
   MapPath 方法将指定的相对或虚拟路径映射到服务器上相应的物理目录上。
  
   语法
   Server.MapPath( Path )
  
   参数
   Path
   指定要映射物理目录的相对或虚拟路径。若 Path 以一个正斜杠 (/) 或反斜杠 () 开始,则 MapPath 方法返回路径时将 Path 视为完整的虚
  
   拟路径。若 Path 不是以斜杠开始,则 MapPath 方法返回同 .asp 文件中已有的路径相对的路径。
   注释
   MapPath 方法不支持相对路径语法 (.) 或 (..)。例如,下列相对路径 ../MyDir/MyFile.txt 返回一个错误。
  
   MapPath 方法不检查返回的路径是否正确或在服务器上是否存在。
  
   因为 MapPath 方法只映射路径而不管指定的目录是否存在,所以,您可以先用 MapPath 方法映射物理目录结构的路径,然后将其传递给在服
  
   务器上创建指定目录或文件的组件。
  
   示例
   对于下列示例,文件data.txt和包含下列脚本的test.asp文件都位于目录C:InetpubWwwrootscript下。C:InetpubWwwroot目录被设置为服
  
   务器的宿主目录。
  
   下列示例使用服务器变量 PATH_INFO 映射当前文件的物理路径。脚本
   <%= server.mappath(Request.ServerVariables(“PATH_INFO”))%>
  
  
   输出
   c:inetpubwwwrootscript est.asp
  
  
   由于下列示例中的路径参数不是以斜杠字符开始的,所以它们被相对映射到当前目录,此处是 C:InetpubWwwrootscript。脚本
   <%= server.mappath(“data.txt”)%>
  
   <%= server.mappath(“script/data.txt”)%>
  
  
   输出
   c:inetpubwwwrootscriptdata.txt
  
   c:inetpubwwwrootscriptscriptdata.txt
  
  
   接下来的两个示例使用斜杠字符指定返回的路径应被视为在服务器的完整虚拟路径。脚本
   <%= server.mappath(“/script/data.txt”)%>
  
   <%= server.mappath(“script”)%>
  
  
   输出
   c:inetpubscriptdata.txt
  
   c:inetpubscript
  
  
   下列示例演示如何使用正斜杠 (/) 或反斜杠 () 返回宿主目录的物理路径。脚本
   <%= server.mappath(“/”)%>
  
   <%= server.mappath(“”)%>
  
  
   输出
   c:inetpubwwwroot
  
   c:inetpubwwwroot
  
  
   URLEncode
   URLEncode 方法将 URL 编码规则,包括转义字符,应用到指定的字符串。
  
   语法
   Server.URLEncode( string )
   参数
   String 指定要编码的字符串。
   示例
   脚本 <%Response.Write(Server.URLEncode(“http://www.tinyu.com”;)) %>
  
   输出 http%3A%2F%2Fwww%2Etinyu%2Ecom
  
   六、Session对象
  
   Session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。每一访问者都会单独获得一个Session。在Web应用程序中,当一
  
   个用户访问该应用时,Session类型的变量可以供这个用户在该Web应用的所有页面中共享数据;如果另一个用户也同时访问该Web应用,他也拥
  
   有自己的Session变量,但两个用户之间无法通过Session变量共享信息,而Application类型的变更则可以实现站点多个用户之间在所有页面中
  
   共享信息。
  
   1、SessionID属性
   该属性返回当前会话的唯一标志,为每一个Session分配不同的编号。
  
   2、TimeOut属性
   该属性用来定义用户Session对象的时限。如果用户在规定的时间内没有刷新网页,则Session对象就会终止。一般默认为20分钟。
  
   3、Abandon方法
   该方法是Session对象的唯一方法,可以清除Session对象,用来消除用户的Session对象并释放其所占的资源。如: <% Session.Abandon
  
   %>
   4、Session_OnStart和Session_OnEnd事件
   和Application一样,当对象的例程每一次启动时触发Session_OnStart事件,然后运行Session_Onstart事件的处理过程。也就是说,当服
  
   务器接收到应用程序中的URL的HTTP请求时,触发此事件,并建立一个Session对象。同理,这个事件也必须定在Global.asa文件中。
   当调用Session.Abandon方法时或者在TimeOut的时间内没有刷新,这会触发Session_OnEnd事件,然后执行里面的脚本。Session变量与特
  
   定的用户相联系,针对某一个用户赋值的Session变量是和其他用户的Session变量完全独立的,不会存在相互影响。
   Session应用一列:
   与Application一样,一个被定义为Session类型的数组只能将整个数组作为一个对象,用户不能直接改变Session数组中某个元素的值。为
  
   了创建一个Session数组,需先定义一个普通的数组,并对它的每一个元素赋初值,最后把它定义为一个Session数组。如:
   <%
   dim array()
   array=array(“李”,”明”,”男”)
   Session(“info”)=array
   Response.write Session(“info”)(0) &”-”
   Response.write Session(“info”)(1) &”-”
   Response.write Session(“info”)(2) &”
  ”
   %>
  
   <%
   array(0)=”天”
   array(1)=”宇”
   array(2)=”男”
   Session(“info”)=array
   Response.write Session(“info”)(0) & “-”
   Response.write Session(“info”)(1) & “-”
   Response.write Session(“info”)(2) & “
  ”
   %>

【介绍一下ASP的内置对象及作用】相关文章

1. 介绍一下ASP的内置对象及作用

2. ASP.NET中内置对象是什么

3. AOP的定义以及作用

4. 介绍一下ASP中一下五个对象

5. spring中的核心类有那些以及作用

6. 请介绍一下Spring框架中Bean的作用域

7. DTD的含义以及作用

8. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上

9. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

10. 介绍一下结构化程序设计方法和面向对象程序设计方法的区别

本文来源:https://www.mianshiwenti.com/a12749.html

点击展开全部

《介绍一下ASP的内置对象及作用》

将本文的Word文档下载到电脑,方便收藏和打印

推荐程度:

进入下载页面

﹝介绍一下ASP的内置对象及作用﹞相关内容

「介绍一下ASP的内置对象及作用」相关专题

其它栏目

也许您还喜欢