ASP网站制作之ASP 3.0初级编程(二十三)
asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。编程|初级第6章举动服务器组件在前几章中,我们已研讨了两类分歧的工具:一类是ASP工具模子的内置部分,另外一类是剧本运转期库供应的工具。本章将先容第三类能用于ASP的工具,取名为举动服务器组件(大概就称为服务器组件)。
这些组件在良多场所下就好像在扫瞄器或在像VisualBasic编程情况顶用于客户端剧本中的传统ActiveX控件一样,可是这些组件可在服务器上运转,而不是一个只能运转在客户机上的工具。
如今的成绩是:这些组件来自那里?个中一部分是由惯例的ASP/IIS安装程序供应的,而另外一部分能够从Web上收费或有偿取得。本章会商ASP的各类组件的次要用处,然后先容可失掉的其他组件的几个典范。一旦感到到利用这些举动服务器组件轻车熟路,你就会绝不吃力将其他供给商产物嵌进到本人的ASP页面中。本章前面有一个第三方组件的列表,本书前面还将先容怎样创立本人的组件。
另有一些用于ASP的组件,但本章禁绝备会商。静态Web网站手艺的基础用处之一是公布间接从数据库办理体系和其他范例的数据存储取得的信息,这一用处和从数据库或其他数据存储中搜集数据和存进数据的需求,促使程序员开辟服务器端编程。为了利用ASP完成这些义务,我们能够充实使用称为ActiveX数据工具(ActiveXDataObjects,ADO)库的组件集。因为它触及的内容良多,很难在本章中论述分明,还要思索的其他的组件,本书从第8章入手下手报告相干的内容。
本章要会商的内容有:
・服务器组件与在ASP中利用的其他工具的区分。
・扼要申明怎样实例化工具,并失掉服务器组件的援用。
・ASP3.0和IIS供应的可安装组件,比方ADRotator、ContentLinking、PageCounter和Tools等组件。
・一些第三方供应的组件。
6.1剧本工具与服务器组件的对照
前一章已申明了各类剧本工具,这些工具关于ASP/IIS来讲都是从剧本运转库(scrrun.dll)中失掉的,主要的是不要把这些工具与服务器组件(即本章的主题)搅浑一同。
服务器组件一般在其本人的DLL或可实行文件中完成,比方本章将要会商的“ContentLinking”组件,就是由nextlink.dll完成的。一旦在服务器安装和注册这个DLL文件,那末其供应的工具就能够在ASP所撑持的任何剧本言语中利用。组件与体系情况的干系如-1所示:
-1组件与体系情况的干系
利用组件服务器组件
前一章已先容了工具和组件在页面中通用的实例化办法,利用服务器组件和利用剧本运转期库工具的办法完整分歧,独一的区分是,不像剧本工具,服务器组件一般作为独自的DLL文件完成,并且大概请求在利用前先运转一个安装程序,大概手工注册该组件(假如这些组件在ASP缺省安装时未注册)。
1.CreateObject办法
一样平常说来,能够在一个ASP页面中利用ASP内置的Server工具的CreateObject办法创立一个工具,比方:
SetobjThis=Server.CreateObject("this.object")inVBScript
或:
varobjThis=Server.CreateObject(this.object);//inJScript
如许就在变量objThis中创立了该工具的援用,然后能够在剧本中利用该工具;换句话说,能够在代码中依据必要把持其属性及挪用其办法。
2.利用<OBJECT>元素
一样可使用惯例的<OBJECT>元素创立一个工具该办法一样合用于在Web扫瞄器页面中创立工具。ASP撑持HTML<OBJECT>元素的特别完成,并且我们可使用这一办法在页面中安排一个工具。要在一般的.asp文件中界说一个组件或剧本工具的实例,利用上面语句:
<OBJECTRUNAT="SERVER"SCOPE="PAGE"ID="objThis"
CLASSID="CLSID:OACE4881-8305-11CF-9427-444553540000">
</OBJECT>
我们利用SCOPE属性来设定工具的局限,选项是“SESSION”、“APPLICATION”和“PAGE”。假如在一般的.asp文件中利用<OBJECT>元素,那末必需同时利用“PAGE”属性,并疏忽SCOPE属性,由于创立的工具只能在它被实例化的页面中利用。假如在global.asa文件中利用<OBJECT>元素,则所创立的工具可在以后会话或全部使用程序中利用,因而SCOPE属性可设置为“SESSION”和“APPLICATION”。
3.检测工具实例的存在
常常呈现的毛病是妄图创立一个未安装(或未注册)的工具的实例,大概在CreateObject办法或<OBJECT>元素中利用毛病的工具ProgID。缺省形态下,ASP会呈现毛病并中断页面的实行。
给页面增加一些程序代码,在会见工具之行进行检测是需要的。在VBScript中,能够做到这一点,办法是:封闭缺省的毛病处置,然后利用IsObject函数检察工具是不是真的援用了一个工具:
inVBScript:
…
OnErrorResumeNextturnoffdefaulterrorhandling
SetobjThis=Server.CreateObject("this.object")
IfIsObject(objThis)Then
theCreateObjectmethodsucceeded
OnErrorGoto0turnthedefaulterrorhandlingbackon
…
restofthescriptgoeshere
…
Else
Response.Write"Sorry,thispagecannotbeaccessedatpresent"
Response.Flush
Response.End
EndIf
…
在JScript言语中,可使用JScript5.0剧本引擎中新的毛病处置特征,这在第1章中先容过。
//inJScript:
…
try{
varobjThis=Server.CreateObject(this.object);
…
//restofthescriptgoeshere
}
catch(exception){
Response.Write(Sorry,thispagecannotbeaccessedatpresent);
Response.Flush();
Response.End();
}
…
6.2ASP/IIS可安装组件
ASP/IIS的尺度安装包含一系列服务器组件,这些组件在IIS文档中被形貌为可安装组件(installablecomponent),只管缺省形态下它们是平安安装。但也有大概这个称号仅仅是相沿ASP的前几个版本中的名字。在之前版本中,这些组件必要野生安装。如今,假如要给它们起个符合的称号,可称为“可实例化的组件”。
必要注重的是,在第8章将先容一个特定的可安装组件,即ADO组件。前面的章节中利用的其他组件都是作为特定的服务或服务器使用程序的一部分而安装的。比方合作数据工具(CollaborativeDateObjects,简称CDO和CDONTS)组件,用于邮件服务器和电子邮件动静。本章的其他部分将会商,怎样利用其他通用性较强的组件为Web网站或Intranet供应加强功效。
在Windows2000中的WinNTSystem32intesrv目次下可找到这些ASP可安装组件,该目次也安排一些组件请求的设置文件。上面按字母按次列出了一些组件。
・AdRotator组件用于把持可点击图象的呈现,如告白或题目。利用存储在设置文件中的信息,AdRotator可以根据设置文件划定的比率显现分歧的图象,同时也具有把可点击的告白从头定位到响应的URL和纪录图象点击次数的特征。
・Bro</p>专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 那么,ASP.Net有哪些改进呢?
页:
[1]