当前位置:首页 > 日记 > 正文

asp3高级编程(十三)

asp3高级编程(十三)
1.3 ASP服务器对象
正如我们之前看到的,我们可以通过使用网页通过ISAPI访问Web服务器页面做很多事情,但同时也存在一些明显的限制。
例如,您可以检索所有从request.servervariables设置客户端的请求发送的HTTP头的值。它几乎可以匹配SSI #回声,和主要的优点是,这些值被返回的代码串,和#回波指示完全插入到页面的价值。因此,这些字符串可以被检索和维护根据他们的愿望。许多相同的参数应用到# fsize和# flastmod指令,并在VBscript和Jscript脚本引擎对象脚本也可以很容易地获得这些信息。在随后的章节中,你将看到的细节。
# EXEC指令都是非常有用的和有限的。事实上,指令只运行系统命令或自定义的CGI应用程序,并且不给过程的脚本实时控制。ASP服务器对象提供了一种新的方式运行的其他应用程序或组件更安全,比# EXEC指令当然很容易。,在一些情况下,尤其是在我们真的需要执行操作系统命令或原始的CGI应用程序的地方,# exec是无可替代的。
为了研究服务器对象,它首先概述了所有可用的方法和属性,然后对其进行了详细的讨论。

4.3.1服务器对象成员概述
服务器对象是专门设计用于在服务器上处理特定的任务,尤其是任务相关的环境和处理服务器的活动。因此,只有一个属性提供的信息,但有七种格式的数据,管理其他网页,管理外部对象和组件和过程的具体方式在服务器错误。
1服务器对象的属性
服务器对象的属性只能是访问一个ASP页面,正在执行的脚本的超时值,如表4-2所示:
性质和服务对象描述表4-2

特征

解释
脚本

默认值为90。
脚本设置或返回页面的时间(秒),可以是服务器退出并报告错误之前执行。当达到该值,它会自动停止页面执行和删除包含可能进入死循环的错误页面的页面,这些页面,或等待其他资源很长一段时间。这可以防止服务器过载,因为错误的页面,页面和更长的运行时间,这个值需要增加
2服务器对象的方法
服务器对象的方法用于管理网页格式的数据,执行,并创建其他对象的实例,如表4-3所示。
方法为服务器对象的指令表4-3

方法

解释
CreateObject(标识符)

创建对象的一个实例(一个组件,应用程序或脚本对象)的标识符来标识,并返回一个引用,可以在代码中使用,你可以使用一个虚拟应用(Global.asa页)在会话层和应用层的上下文中创建的对象,这个对象可以确定其classid,如{ CLSID:bd96c556-65a3.37a9 }或ProgID字符串的识别,如数据连接。
执行(URL)

停止当前页的执行,并将控制到指定的URL的网页。用户当前的环境(即会话状态和当前事务的状态)也通过一个新的页面。页面后执行,控制返回到原来的页面,继续执行声明背后的执行方法
GetLastError()

返回一个引用到ASP asperror对象,其中包含详细的错误数据,ASP的过程中发生的网页。通过该对象所提供的信息包含文件名、行号、错误代码,等等
HTMLEncode(字符串)

返回一个字符串,该字符串是输入值字符串的副本,但删除所有非法的HTML字符,例如,和双引号,并转换成等效的HTML条目,即
MapPath(URL)

返回URL中指定的文件或资源的完整物理路径和文件名。
传输(URL)

停止当前页的执行并将控件转移到URL中指定的页面。用户当前的环境(即会话状态和当前事务状态)也被传递到新页面。与执行方法不同,当新页完成时,它不会返回原始页面,而是结束执行过程。
URLEncode(字符串)

返回一个字符串,这是一个复制的输入值的字符串,但所有的字符,如,和空间,这是无效的URL转换为等效的URL条目,即% 3F,% 26 +。

4.3.2创建其他对象的一个实例
在上一章中,我们讨论了ASP的虚拟应用程序的概念,并了解到虚拟应用程序可以提供应用保护ASP网页组件和其他对象的进程隔离。这延续了第一章的论述,即如何ASP ObjectContext对象ASP页提供运行环境,以及如何使用其他组件和对象在同一环境下运行。
ASP服务器对象提供创建这些组件和应用程序实例的功能,因此它可以用来扩大ASP脚本的能力。这个功能是通过执行一个特定版本的CreateObject方法实现。
1。在VBscript和Jscript对象实例的创建
在VB或VBA中,可以使用各种方法创建对象的实例:
昏暗的objnewobject新mycomponent
然而,它是不可能在ASP用VBscript或Jscript这样做,因为这些脚本引擎不能实现的数据类型的定义,它是不可能来声明一个变量指定数据类型,其变量的变异型或同等类型(取决于脚本语言的使用)。
在VB和VBA的另一种方法是使用CreateObject或GetObject方法。的CreateObject方法的参数是一个classid(正常)或ProgID字符串返回一个相应类型的新对象:
集objnewobject = CreateObject(ADODB连接)
当你有一个指定的文件类型,要创建一个对象实例可以处理这个文件,通常使用GetObject方法:
集objexcel = GetObject(C:我的文件销售。XLW)
您还可以指定需要的对象类型和文件名,当几个对象可以处理文档的类型时,这是非常有用的。
集objexcel = GetObject(C:我的文件 sales.xlw,Excel的应用)
VBscript支持CreateObject和GetObject methods.jscript也GetObject方法,如GetObject工作在VBscript一样。在Jscript的ActiveX对象实现相同功能的VBscript CreateObject方法。但这个函数通常用于与Jscript运算符结合的新:
objnewobject =新的ActiveX对象(这个对象);
除了在VBscript和Jscript VB的新关键字不支持,所有这些技术可以用来创建一个ASP网页对象的实例。然而,这并不意味着它应该,而且在大多数情况下,它不应该被创建在ASP网页中的脚本引擎对象。
2。在ASP网页中创建对象实例
要理解为什么通用脚本引擎创建对象的方法不能很好地工作在ASP的页面,我们需要进一步讨论环境与ObjectContext对象在ASP。
当一个脚本引擎,用于在ASP网页中创建一个对象的实例,对象不在当前执行上下文的页面实例化。ObjectContext对象的引用是不可用的,所以对象不能被用来访问的页面,这是环境,在网页环境价值无法访问。
这意味着不能使用内置对象,ASP对象,它不能访问值集合中的请求,响应,应用程序和会话对象,也可以使用内置的ASP对象提供的方法和属性,该对象不能与任何的在这样的环境中现有的交易互动。如果出现错误,你可以不使用ObjectContext方法放弃交易。
当然,你可能不想与网页交互环境。但为什么它是经常使用的一般对象的创建method.iis自动实例化对象在COM+运行时封装hllhost.dll失策等原因,使对象能够完全共享和重用现有虚拟应用(默认的Web网站本身是一个虚拟的应用)。
你在最后一章中所看到的是建立一个虚拟应用程序,允许您在Web服务器的内存空间中创建对象,或者创建dllhost.dll实例共享或单独处理的对象。如果使用的是普通的脚本引擎创建对象的方法,所有组件的分离和扩展功能,这些功能会自动绕过。提供在使用ASP服务器对象CreateObject方法。
3的CreateObject方法。服务器对象
测试chapter04 CreateObject方法,打开主菜单页面的样本,并点击使用ASP服务器对象的链接,如图4-10所示:

的chapter04主菜单页图4-10示例程序
此链接将打开一个网页的命名show_server.asp,可用于测试的所有服务器对象的方法。它也显示该服务器对象,唯一的财产价值的脚本,它的默认值是90秒,如图4-11所示。

图4-11的服务器对象的属性和方法
在创建页面的一个组成部分地区的一个实例,有一个文本框,在那里你可以键入要在网页的环境创造的ProgID字符串,甚至型ClassID价值。文本框中的默认值已设置为ProgID:从ActiveX数据对象库的公共对象adodb.connection。
单击下一步的server.createobject选项页面提交到本身的按钮,因为所有的控制都是一个行动属性和行为属性设置的路径和文件名的网页。

表单操作方法
创建组件的实例

(服务器创建对象。






当页面加载时,页面中的一段ASP代码(在段前)就会知道哪个按钮被点击提交表单时,如果它是一个叫cmdcreateobject按钮,文本框中的代码读取的ProgID字符串。为了防止无效用户的输入,使执行中止,关闭默认脚本错误处理,然后用server.createobject方法创建一个对象实例。最后,默认的错误处理是重开,和对象的功能是用来检查是否创建一个对象实例和相应的信息显示:
= CHR(34)'double-quote字符

查找窗体部分按钮发送的命令
如果len(要求表单(cmdcreateobject ))然后
strprogid =请求。形式(txtprogid )
下次继续出错
集objobject = server.createobject(strprogid)
关于错误0
如果IsObject(objobject)然后
响应。写结果:
成功创建对象的ProgID_
strprogid
其他的
响应。写结果:
未能创建对象的ProgID_
strprogid
最后如果
最后如果

图4-12显示创建一个数据的结果。连接对象。你可以看到,对象通常被实例化并可用于编码。

结果图4-12 ADODB连接对象的实例化。
本章不讨论如何使用这些对象,你可能已经熟悉它。一旦创建了一个对象的实例,它可以作为它在任何其他情况下,调用对象的方法读取或设置属性,因为它是使用VB;或使用它在浏览器客户端的VBscript和Jscript。
在下一节中,对象和组件的使用会更加详细。我们将研究对象由脚本引擎实现的,而在IIS 5和ASP 3安装的组件,以及其他一些免费或商业组件,并讨论如何在不同情况下选择相应的组件。书末,它甚至会显示它是非常简单的创建自己的组件,可用于在ASP

相关文章

XP宽带应用技巧

XP宽带应用技巧

宽带,应用技巧,电脑软件,XP,现在,越来越多的朋友使用宽带模式,如ADSL和局域网来上网。例如,作者所在城市提供的局域网方式是宽带互联网接入。时间限制是每月只有80元,但不限时间,但是流量只有80美元一个月。如果你已经升级到WindowsXP操作环境,下…

理解web页面工具语言xml的背景

理解web页面工具语言xml的背景

工具,语言,背景,页面,电脑软件,1。xml的背景 XML,HTML,是标准通用标记语言,标准通用标记语言,简称SGML。在Web的发明,SGML早已存在。顾名思义,SGML的标记文档数据的通用语言。它包含一系列文档类型定义(DTD)。在DTD中,标签的涵义进行界定,因此SGML语…

IE9性能飙升的技术预览版第二版正

IE9性能飙升的技术预览版第二版正

性能,飙升,正式发布,预览版,技术,IE9性能飙升的技术预览版第二版正式发布: 微软发布新的浏览器IE9二预览今天,着眼于提高性能和提高标准的支持,特别是实现HTML5 GPU硬件加速。同时,微软还更新了测试驱动的网站,允许人们通过实际测试经验在IE9的…

腾讯新闻Android客户端正式发布

腾讯新闻Android客户端正式发布

客户端,腾讯,正式发布,新闻,电脑软件,据悉,2011年2月26日,腾讯新闻1(Android)客户端正式发布。它是一种基于Android1.6及以上平台腾讯新闻服务的免费应用程序,提供新闻和信息的快速、客观、公正的。你可以得到最新的信息和图片在任何时间、任何…

3DS三维图形

3DS三维图形

图形,电脑软件,DS,所谓3D是在画面中的图片,视频播放打开另一幅小图片,在小屏幕上播放另一幅视频动画!我相信你对皮普不会陌生。 对于专业人士来说,强大的视频编辑设备可以轻松完成丰富多彩的图片特技,从而实现3DS 3D在PC机上的使用 答案是肯定的…

C++Builder的非可视组件消息处理

C++Builder的非可视组件消息处理

消息处理,组件,C++Builder,非可视,电脑软件,非可视组件必须对Windows操作系统或用户定义的消息作出响应。但是,由于非可视组件没有Windows,它也没有窗口句柄,自然无法接收消息。为了解决这个问题,我们的想法是创建一个隐藏窗口,使非可视组件接收…

如何在Windows2000系统检索丢失的

如何在Windows2000系统检索丢失的

管理员,系统,检索,密码,如何在,文本/天极网 最近,很多朋友都告诉我,由于种种原因,他们的Win2000系统(或NT、XP系统)管理员密码丢失,问我如何找回密码。好朋友,我总是忍不住,所以不同的情况,分别提出了相应的对策,并最终帮助他们找到自己的密码。在业…

微软将发布的IE10预览版在MIX11之

微软将发布的IE10预览版在MIX11之

预览版,电脑软件,微软星期三证实,IE9将于下星期一在SXSWi(SXSW音乐节)于3月14日正式宣布,确切的时间是下午九点,太平洋时间,IE9的许多特点将增加保持芯片的垄断地位,微软在浏览器市场Firefox,在激烈的battle.ie9 Safari和Chrome已经在性能上,相当大…

win7不能拯救方案的浏览网址

win7不能拯救方案的浏览网址

方案,浏览,网址,电脑软件,Windows系统会自动保存你浏览的网站,如果你重新启动计算机,每一次浏览记录,如果可以以下方法解决删除:点击{开始} - { } { }控制面板-互联网网络选项,在弹出的窗口的属性,看看是否删除浏览历史选择退出(保存记录集取消)如…

神奇的另类允许应用程序开始运行更

神奇的另类允许应用程序开始运行更

运行,应用程序,更快,神奇,另类,我们知道,在Windows中,单击开始,运行命令后,你可以输入相应的命令,在打开的对话框中打开一些系统工具,如输入regedit回车打开注册表编辑器,进入记事本输入启动记事本程序等。然而,默认情况下,Windows只能支持少数程序…

判断字符串的数字类型。

判断字符串的数字类型。

数字,类型,字符串,电脑软件,支持判断以返回任何类型的数据类型: 函数的GetNumType(斯瓦尔巴特群岛) 昏暗的类型 如果Not IsNumeric(斯瓦尔巴特群岛)然后 getnumtype =未知 退出功能 最后如果 执行stype= typename(斯瓦尔巴特群岛)。 getnumtype =…

享受爱傻瓜高清DVD双字幕功能

享受爱傻瓜高清DVD双字幕功能

字幕,傻瓜,功能,电脑软件,DVD,单按钮白痴 下载: 越来越多的人喜欢看英文原版电影,因为它不仅可以得到更加真实的享受自己的感觉,也能使人们在轻松娱乐environment.dvd DVD学习英语是一样的。越来越多的人选择用电脑看DVD视频。因为除了便宜,方…