|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。编程|初级1.3ASPServer工具
正像在后面看到的那样,经由过程服务器端包括的经ISAPI会见Web服务器的页面,用传统静态页面指令和命令能够做相称多的事变。但同时也有一些分明的限定。
比方,能够从Request.ServerVariables汇合检索到一切伴同客户真个哀求发送过去的HTTP报头的值。它几近能够与利用SSI#echo对抗,同时具有的次要长处是把这些值作为字符串前往到代码中(而#echo指令复杂地把这些值拔出到页面中),因而能够依据本人的希望来检索和保护这些字符串。很多不异的参数使用于#fsize和#flastmod指令,利用带有VBScript和JScript剧本引擎中的工具的剧本,一样也能够简单地猎取这个信息。在后续章节你将看到相干的细节。
#exec指令既十分有效,又遭到必定的限定。实践上该指令仅运转体系命令或定制的CGI使用程序,其实不能给剧本供应真实的对历程的把持。ASPServer工具供应了一种全新的办法,与#exec指令比拟,可以更平安和更简单地运转其他的使用程序或组件。固然,关于一些情形,特别是在的确必要实行一个操纵体系命令或一个原本的CGI使用程序的中央,#exec是没法替换的。
为了研讨Server工具,先提要先容其一切可用的办法和属性,然后再进一步具体地举行会商。
4.3.1ASPServer工具成员概述
Server工具是专为处置服务器上的特定义务而计划的,出格是与服务器的情况和处置举动有关的义务。因而供应信息的属性只要一个,却有七种办法用来以服务器特定的办法格局化数据、办理其他网页的实行、办理内部工具和组件的实行和处置毛病。
1.Server工具的属性
Server工具的独一一个属性用于会见一个正在实行的ASP网页的剧本超时价,如表4-2所示:
表4-2Server工具的属性及申明
特性
说明
ScriptTimeout
整型。缺省值为90。
设置或前往页面的剧本在服务器加入实行和呈报一个毛病之前能够实行的工夫(秒数)。到达该值后将主动中断页面的实行,并从内存中删除包括大概进进逝世轮回的毛病的页面大概是那些长工夫守候其他资本的网页。这会避免服务器因存在毛病的页面而过载。关于运转工夫较长的页面必要增年夜这个值
2.Server工具的办法
Server工具的办法用于格局化数据、办理网页实行和创立其他工具实例,如表4-3所示。
表4-3Server工具的办法及申明
方法
说明
CreateObject(“identifier”)
创立由identifier标识的工具(一个组件、使用程序或剧本工具)的一个实例,前往能够在代码中利用的一个援用。能够用于一个假造使用程序(global.asa页)创立会话层或使用程序层局限内的工具。该工具能够用其ClassID来标识,如“{clsid:BD96C556-65A3…37A9}”或一个ProgID串来标识,如“ADODB.Connection”
Execute(“url”)
中断以后页面的实行,把把持转到在url中指定的网页。用户确当前情况(即会话形态和以后事件形态)也传送到新的网页。在该页面实行完成后,把持传送回本来的页面,并持续实行Execute办法前面的语句
GetLastError()
前往ASPASPError工具的一个援用,这个工具包括该页面在ASP处置过程当中产生的比来一次毛病的具体数据。这些由ASPError工具给出的信息包括文件名、行号、毛病代码等等
HTMLEncode(“string”)
前往一个字符串,该串是输出值string的拷贝,但往失落了一切不法的HTML字符,如<、>、&和双引号,并转换为等价的HTML条目,即<、’>’、’&’、’"’等等
MapPath(“url”)
前往在url中指定的文件或资本的完全物理路径和文件名
Transfer(“url”)
中断以后页面的实行,把把持转到url中指定的页面。用户确当前情况(即会话形态和以后事件形态)也传送到新的页面。与Execute办法分歧,当新页面实行完成时,不回到本来的页面,而是停止实行历程
URLEncode(“string”)
前往一个字符串,该串是输出值string的拷贝,可是在URL中有效的一切字符,如?、&和空格,都转换为等价的URL条目,即%3F、%26和+
4.3.2创立其他工具的实例
在前一章中,会商了ASP的假造使用程序观点,懂得了假造使用程序经由过程ApplicationProtection设置为ASP网页中的组件和其他工具供应历程断绝。这持续了第1章的会商,即ASP的ObjectContext工具怎样为ASP网页供应运转情况,和怎样利用在不异的情况中运转的其他组件和工具。
ASPServer工具供应创立这些组件和使用程序实例的功效,因而可用来扩大ASP剧本的才能。经由过程完成CreateObject办法的一个特定版原本完成这个功效。
1.在VBScript和JScript中创立工具实例
在VB或VBA中,可以使用多种办法创立工具的实例。可使用New关头字来创立指定范例的一个新工具:
DimobjNewObjectAsNewMyComponent
但是,不克不及在ASP顶用VBScript或JScript这么做,由于这些剧本引擎不克不及完成数据范例界说。不克不及声明一个变量为恣意指定的数据范例,其变量都是Variants范例,或一个等价的范例(依据利用的剧本言语而定)。
在VB和VBA中另外一个办法是利用CreateObject或GetObject办法。CreateObject办法的参数是一个ClassID(一般情形)或一个ProgID字符串,它前往响应范例的一个新工具:
SetobjNewObject=CreateObject(“ADODB.Connection”)
当具有一个指定的文档范例,而且想创立一个能够处置这类文档的工具实例时,一般利用GetObject办法:
SetobjExcel=GetObject(“C:myfilessales.xlw”)
也能够指定所必要的工具范例和文件名,在几种工具都能处置该文档范例的情形下,这类做法长短常有效的:
SetobjExcel=GetObject(“C:myfilessales.xlw”,”Excel.Application”)
VBScript撑持CreateObject和GetObject办法。JScript也有getObject办法,与VBScript中的GetObject事情体例不异。JScript中的ActiveXObject完成了与VBScript的CreateObject办法不异的功效。但这个函数常与JScript的new运算符协同利用:
ObjNewObject=newActiveXObject(“This.object”);
除VB的NEW关头字在VBScript和JScript中不予撑持之外,可以利用一切这些手艺在一个ASP网页中创立工具的实例。但是,可以其实不意味着应当,并且年夜多半情形下不该该在一个ASP网页中利用剧本引擎的工具创立函数。
2.在ASP网页中创立工具实例
为了了解一样平常的剧本引擎工具创立办法为何在ASP网页中利用效果不睬想,需进一步对ASP中的情况和ObjectContext工具举行会商。
利用剧本引擎的一样平常办法在一个ASP网页中创立一个工具实例时,该工具在以后实行的页面的情况中并未实例化。得不到ObjectContext工具的援用,以是不克不及利用该工具来会见页面的情况,即不克不及会见该页面情况中的值。
这意味着该工具不克不及利用内置的ASP工具,即不克不及够会见在Request、Response、Application和Session工具的汇合中的值,也不克不及利用内置的ASP工具供应的办法和属性。该工具也不克不及够与此情况中任何现有的事件举行交互。假如产生毛病,不克不及利用ObjectContext办法保持一个事件。
固然,你大概不想与该网页的情况举行交互。可是有其他的来由申明利用一样平常的工具创立办法一般是不明智的。IIS主动地在COM+运转期包装程序hllhost.dll中实例化工具,使得该工具能够在以后的假造使用程序中完整地共享和从头利用(缺省的Web网站自己是一个假造的使用)。
你</p>由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况; |
|