ASP 3.0高级编程(十三)

2016-01-29 19:11 3 1 收藏

ASP 3.0高级编程(十三),ASP 3.0高级编程(十三)

【 tulaoshi.com - ASP 】

  1.3   ASP Server对象
正像在前面看到的那样,通过服务器端包含的经ISAPI访问Web服务器的页面,用传统动态页面指令和命令可以做相当多的事情。但同时也有一些明显的限制。
例如,可以从Request.ServerVariables集合检索到所有随同客户端的请求发送过来的HTTP报头的值。它几乎可以与使用SSI #echo匹敌,同时具备的主要优点是把这些值作为字符串返回到代码中(而#echo指令简单地把这些值插入到页面中),因此可以根据自己的愿望来检索和维护这些字符串。许多相同的参数应用于#fsize和#flastmod指令,使用带有VBScript和JScript脚本引擎中的对象的脚本,同样也可以容易地获取这个信息。在后续章节你将看到相关的细节。
#exec指令既非常有用,又受到一定的限制。实际上该指令仅运行系统命令或定制的CGI应用程序,并不能给脚本提供真正的对进程的控制。ASP Server对象提供了一种全新的方法,与#exec指令相比,能够更安全和更容易地运行其他的应用程序或组件。当然,对于一些情况,尤其是在确实需要执行一个操作系统命令或一个原有的CGI应用程序的地方,#exec是无法替代的。
为了研究Server对象,先概要介绍其所有可用的方法和属性,然后再进一步详细地进行讨论。

4.3.1 ASP Server对象成员概述
       Server对象是专为处理服务器上的特定任务而设计的,特别是与服务器的环境和处理活动有关的任务。因此提供信息的属性只有一个,却有七种方法用来以服务器特定的方法格式化数据、管理其他网页的执行、管理外部对象和组件的执行以及处理错误。
1.  Server对象的属性
Server对象的唯一一个属性用于访问一个正在执行的ASP网页的脚本超时值,如表4-2所示:
表4-2  Server对象的属性及说明
特 性
说 明

ScriptTimeout
整型。缺省值为90。
设置或返回页面的脚本在服务器退出执行和报告一个错误之前可以执行的时间(秒数)。达到该值后将自动停止页面的执行,并从内存中删除包含可能进入死循环的错误的页面或者是那些长时间等待其他资源的网页。这会防止服务器因存在错误的页面而过载。对于运行时间较长的页面需要增大这个值

2.  Server对象的方法
Server对象的方法用于格式化数据、管理网页执行和创建其他对象实例,如表4-3所示。
表4-3  Server对象的方法及说明
方 法
说 明

CreateObject(“identifier”)
创建由identifier标识的对象(一个组件、应用程序或脚本对象)的一个实例,返回可以在代码中使用的一个引用。可以用于一个虚拟应用程序(global.asa页)创建会话层或应用程序层范围内的对象。该对象可以用其ClassID来标识,如“{clsid: BD96C556-65A3…37A9}”或一个ProgID串来标识,如“ADODB.Connection”

Execute(“url”)
停止当前页面的执行,把控制转到在url中指定的网页。用户的当前环境(即会话状态和当前事务状态)也传递到新的网页。在该页面执行完成后,控制传递回原先的页面,并继续执行Execute方法后面的语句

GetLastError()
返回ASP ASPError对象的一个引用,这个对象包含该页面在ASP处理过程中发生的最近一次错误的详细数据。这些由ASPError对象给出的信息包含文件名、行号、错误代码等等

HTMLEncode(“string”)
返回一个字符串,该串是输入值string的拷贝,但去掉了所有非法的HTML字符,如<、、&和双引号,并转换为等价的HTML条目,即<、’’、’&amp;’、’&quot;’等等

MapPath(“url”)
返回在url中指定的文件或资源的完整物理路径和文件名

Transfer(“url”)
停止当前页面的执行,把控制转到url中指定的页面。用户的当前环境(即会话状态和当前事务状态)也传递到新的页面。与Execute方法不同,当新页面执行完成时,不回到原来的页面,而是结束执行过程

URLEncode(“string”)
返回一个字符串,该串是输入值string的拷贝,但是在URL中无效的所有字符,如?、&和空格,都转换为等价的URL条目,即%3F、%26和+


4.3.2 创建其他对象的实例
       在前一章中,讨论了ASP的虚拟应用程序概念,了解了虚拟应用程序通过Application Protection设置为ASP网页中的组件和其他对象提供进程隔离。这延续了第1章的讨论,即ASP的ObjectContext对象如何为ASP网页提供运行环境,以及如何使用在相同的环境中运行的其他组件和对象。
       ASP Server对象提供创建这些组件和应用程序实例的功能,因此可用来扩充ASP脚本的能力。通过实现CreateObject方法的一个特定版本来实现这个功能。
1.  在VBScript和JScript中创建对象实例
在VB或VBA中,可使用多种方法创建对象的实例。可以使用New关键字来创建指定类型的一个新对象:
Dim objNewObject As New MyComponent
然而,不能在ASP中用

来源:https://www.tulaoshi.com/n/20160129/1508703.html

延伸阅读
标签: ASP
  4.3.4 Server对象的错误处理        ASP没有错误处理机制一直受到批评。        在VBScript中,有一个On Error Resume Next语句,它使脚本解释器忽略运行期错误并继续脚本代码的执行。接着该脚本可以检查Err.Number属性的值,判别是否出现了错误。如果出现错误...
标签: ASP
  访问和更新Cookies集合     Cookies的值比ASP其他集合(例如Form和ServerVariables)的值要复杂得多。Cookie是一小块由浏览器存贮在客户端系统上的文本,且随同每次请求发往它们应用于的域中的服务器。     ASP使得应用cookie较为容易,可以从Request对象的Cookies集合中获得所有随同请求发出...
标签: ASP
  5.3.2 Dictionary对象示例        本书提供了一系列示例文件可用来试验脚本运行时间库的各种属性。        本章代码的缺省页面提供了一系列可使用的VBScript示例链接。有些示例对JScript同样有效。这些示例存放在Chapter05目录下相应的子目录里,显示的界面如图...
标签: ASP
  4.3.3 执行其他的网页        ASP 3.0和IIS 5.0的新特性之一就是引入了可编程的服务器端重定向(server-side redirection)的概念。这意味着,可以把一个网页的控制和执行转到另外一个网页,而不需要在客户端使用Response.Rdedirect方法。 1.  客户端重定向带来的问题 ASP编程人员通常使...
标签: ASP
  4.3.5 获取Server对象的路径信息        在对存储在Web网站上的文件进行操作时,需要获得文件的实际的物理路径,而不是使用虚拟路径或URL,尽管在其他网页中能用它们正常地定位文件。下一章中有一个例子,它使用FileSystemObject对Web站点的InetPub\WWWRoot文件夹中的文件进行读写。当创建自己的定...

经验教程

206

收藏

83
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部