|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。编程|初级4.3.4Server工具的毛病处置
ASP没有毛病处置机制一向遭到品评。
在VBScript中,有一个OnErrorResumeNext语句,它使剧本注释器疏忽运转期毛病并持续剧本代码的实行。接着该剧本能够反省Err.Number属性的值,辨别是不是呈现了毛病。假如呈现毛病,前往一个非零值。在ASP3.0中,也能够利用OnErrorGoto0“转回到”缺省的毛病处置。在ASP2.0中实践也举行这类处置,可是没有响应文档申明。
在Jscript中,有一个新的毛病处置功效:C言语作风的try和catch语句。但是一切的这些毛病处置手艺都不是由ASP或IIS完成的,而是由ASP利用的剧本引擎完成的。
第7章专门会商剧本和剧本引擎触及到的调试和毛病处置手艺。
同时,ASP和IIS的开辟小组已增添了一个新的功效,用于在ASP网页中举行毛病处置。这分为两个部分:IIS毛病页面的设置及利用ASP的一个新的办法和工具。
1.Server工具的GetLastError办法
在ASP3.0中,Server工具有一个名为GetLastError的新办法。与VBScript的Err工具分歧,不克不及为检察是不是呈现了毛病而随时挪用该办法,只能在一个ASP定制的毛病网页中利用。假如像对Err工具举行操纵那样,经由过程封闭缺省的毛病处置(用OnErrorResumeNext语句)来利用,则GetLastError办法不克不及会见毛病的具体数据。
GetLastError办法要做的事变是供应更多的有关毛病源和毛病缘故原由的信息。GetLastError办法创立并前往一个工具的援用,该工具是一个名为ASPError的新工具。这个工具具有一系列的属性,这些属性前往有关在GetLastError办法挪用之前呈现的最新毛病的信息。
2.ASPError工具的属性
ASPError工具供应了九个属性申明所呈现的毛病的性子和毛病源,并前往激发毛病的实践代码,其属性及申明如表4-4所示:
表4-4ASPError工具的属性及申明
属性
说明
ASPCode
整型。由ASP/IIS发生的毛病号,比方0x800A009
ASPDescription
字符串型。假如这个毛病是与ASP相干的毛病,这个属性是毛病的具体申明
Category
字符串型。毛病源,即ASP外部剧本言语、或一个工具
Column
整型。发生毛病的文件中的字符地位
Description
字符串型。毛病的冗长申明
File
字符串型。毛病呈现时正在处置的文件的称号
Line
整型。发生毛病的文件中的行号
Number
整型。一个尺度的COM毛病代码
Source
字符串型。激发毛病的行的实践代码
3.设置“单个网页”毛病处置
在IIS中“难以想象”地呈现一个毛病(比方404NotFound)时,页面看起来像是从服务器前往给客户真个一个毛病信息页面,但实践上并非如许。它们是一般的HTML网页,在对一个毛病举行呼应时被下载而且发送给客户端。这些网页一般称为定制的毛病网页(customerrorpage)。
但是,毛病网页作为IIS的缺省安装部分,可依据请求定制。现实上,也能够在IIS的初期版本中创建定制的毛病网页。
在IIS4.0中,能够为每种分歧范例的HTTP协定或服务器毛病指定一个定制的毛病网页,为服务器上恣意的Web网站中的每一个目次创建一个定制的毛病信息网页。
(1)IIS缺省的毛病网页
由IIS供应的缺省毛病页面放在Web服务器的WinNTHelp目次中。在Windows2000中的IIS5.0的情况下,该页面放在WinNTHelpiishelpcommon目次下,如-17所示:
-17缺省的毛病页面地位
可在扫瞄器中翻开这些文件检察了局,大概在文本编纂器中检察HTML源程序和剧本代码。当一个404毛病呈现时,利用的页面是404b.htm,这个文件包括一个客户端剧本代码部分,它取得以后文档的URL(从document工具的url属性中检索)并在该页面中显现:
<tr>
<tdwidth="400"colspan="2"><fontstyle="COLOR:000000;FONT:9pt/11pt宋体">您正在搜刮的网页大概已删除、改名或临时不成用。</font></td>
</tr>
<tr>
<tdwidth="400"colspan="2"><fontstyle="COLOR:000000;FONT:9pt/11pt宋体">
<hrcolor="#C0C0C0"noshade>
<p>请实验以下操纵:</p>
<ul>
<li>假如您在“地点”栏中键进了网页地点,请反省其拼写是不是准确。<br>
</li>
<li>翻开<script>
<!--
if(!((window.navigator.userAgent.indexOf("MSIE")>0)&&(window.navigator.appVersion.charAt(0)=="2")))
{
Homepage();
}
//-->
</script>主页,寻觅指向所需信息的链接。</li>
…
<script>
functionHomepage(){
<!--
DocURL=document.URL;
protocolIndex=DocURL.indexOf("://",4);
serverIndex=DocURL.indexOf("/",protocolIndex+3);
BeginURL=DocURL.indexOf("#",1)+1;
urlresult=DocURL.substring(BeginURL,serverIndex);
displayresult=DocURL.substring(protocolIndex+3,serverIndex);
document.write(<AHREF="+urlresult+">+displayresult+"</a>");
}
//-->
</script>
这会发生你常常看到的页面,如-18所示:
-18发生404毛病时的页面
(2)IIS中毛病网页的映照
当IIS检测到一个毛病时,会把响应的毛病页面传送给客户端。怎样辨别应当向客户端发送那一个页面?很分明,网页的名字应具有办理这个成绩的一些信息,但现实上文件名是不主要的。毛病和毛病网页文件之间的映照干系是在每一个目次的properties对话框的CustomErrors选项卡中决意的。
在InternetServicesManager中,在想编纂映照干系的目次上单击右键,并选择Properties。假如对示例文件举行设置,在Chapter04目次当选择server子目次,如-19所示:
-19设置属性时的页面屏幕
Properties对话框的CustomErrors选项卡在IIS安装时(除非已举行过修正)设置了缺省映照干系的列表,如-20</p>SQLServer是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。 |
|