本篇文章主要介绍了"WINDOWS 2000搭载ASP3.0和IIS5.0",对于ASPjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下:
相信大部分的人目前所用的asp版本都是搭载在IIS3.0或IIS4.0中的ASP2.0,伺服器平台也多是NT4.0,随着WINDOWS
2000 即将在二月十七号问世,由於之前许多杂志媒体都曾经报导过有关WINDOWS
2000在伺服器性能的扩充以及各版本(伺服器版本,个人用户版本....)的简介,所以大家都迫不及待的想知道WINDOWS
2000到底多了哪些强大的功能,身为NT
伺服器使用者的我们当然也不可不知到底微软在这方面改善了多少?不过由於本版面主要是在讨论ASP的应用,所以笔者将针对搭载在WINDOWS
2000中的ASP3.0和IIS5.0与之前IIS3.0或IIS4.0中的ASP2.0有增加了哪些元件或者是扩充的属性与方法来说明,总体来说,ASP20.与ASP3.0并没有许多的不同,比较引人注意的是新增了两个伺服器物件方法(METHOD)---SERVER.EXECUTE和SERVER.TRANSFER以及一个新增加的物件--ASPERROR物件。
SERVER.TRANSFER方法
以往ASP2.0中控制两个网页之间的传递大部分都是靠Response.Redirect来完成,但是一般人可能不晓得Response.Redirect在应用上来说是相当笨拙的,在ASP处理Response.Redirect时是先将一个讯息传递至客户端的浏览器,告知客户端的浏览器准备载入一个新的网址,客户端浏览器接收到这笔讯息之後再回传一个确认新网址讯息回伺服器端,然後伺服器端再将客户端浏览器导向到新的网址,在网路蓬勃发展的今天,这样的做法势必会对网路的堵塞情形带来更大的冲击,而这也是使用者与网站管理者所不乐於见到的,为了取代Response.Redirect这个笨方法,ASP3.0加入了一个新的伺服器方法--SERVER.TRANSFER,把Response.Redirect中客户端与伺服器端的沟通全部转移到伺服器上,所有的处理程序全部交由伺服器来执行,当然啦!!在语法与应用的观念上与Response.Redirect并无太大的分别,在网页与网页中传递资讯时,所有的时域变数和应用程式变数都将保持不变,看看下面的说明:
语法
SERVER.TRANSFER(PATH)
PATH所定义的是将控制权转移到的目的网页之网址,跟Response.Redirect後面所接的
参数有异曲同工之妙,举例来说,
ASP1.asp如下:
<%
Response.Write session.SessionID
Response.Write ("
")
Response.Write("我要到下一个网页去罗!!
")
Server.Transfer("ASP2.asp")
%>
ASP2.asp如下
<%
Response.Write Session.SessionID
%>
ASP1.asp执行结果如下
一个SessionID
我要到下一个网页去罗!!
同样的SessionID
很明显的可以看出Response.Redirect与SERVER.TRANSFER的不同了吧!!
SERVER.EXECUTE方法
SERVER.EXECUTE跟SERVER.TRANSFER相同的是都是在进行Script执行程序的转移,唯一不同的是SERVER.TRANSFER最後将控制权交给被呼叫的Script档案,而SERVER.EXECUTE最後将控制权转移给被呼叫者本身,也就是说执行SERVER.EXECUTE的Script档案将被呼叫的Script档案视做自己本身的一部份,在观念上来说,与Include的做法是一样的,与许多高阶语言呼叫副程式的做法也相同,基本上伺服器端允许SERVER.EXECUTE修改Http标题,但是如果被执行的档案企图在传送讯息至客户端浏览器之後修改Http标题就会发生已将
HTTP 标题写入用户端浏览器。对任何 HTTP
的标题所做的修改必须要在写入页内容之前的错误。看看下面的范例:
ASP1
<% Response.Write("你在看我吗?
")
Server.Execute("asp2.asp")
%>
ASP2
<% Response.Write("你可以再近一点。")%>
ASP1.asp执行结果将会是
你在看我吗?
你可以再近一点。
看完了这两个新增加的伺服器物件属性之後,接下来让我们看看新增加的ASP内建元件--ASPERROR元件,这是ASP3.0所提供的一个全新的元件,他让网站管理者能完全掌控因ASP所产生的错误,这是前几个版本所无法做到的,在前几个版本中要捕捉因ASP所发生的错误是不可能的,顶多只能用VBScript的On
Error Resume Next来捕捉到因Script所发生的错误,任何COM或ASP所发生的错误都无法捕捉,随着ASP3.0的到来,这些问题都将迎刃而解。
为了要使用ASPERROR物件你必须会使用IIS的Http错误控制,不晓得大家进我们网站之後有没有发现,当你在www.pc-net.com.tw/网址後乱打一些字然後再按Enter你会发现当网址不存在时会出现如下的画面:
这个就叫做自定错误页面,大家知道这是如何做到的吗?打开NT的IIS伺服器管理员之後,在站台名称之上点选滑鼠右键,选择内容(最下面的选项)你可以看到看看下面的画面(由於笔者的工作平台是Window
98)所以只好藉由测试平台(英文版的NT来为大家做一个说明)。
你可以看到许多的控制选项,选择右上角的Custom Errors(自定错误),然後选取404这个错误,你会看到在内容部分会有一个路径的描述C:\WINNT|help\common\404b.htm
这个档案放置的内容就是在描述当所查询的网址不存在时会发生的错误讯息,404b.htm的原始档如下:
404b.htm
HTTP 404 找不到

width="25" height="33"> |
<>
style="COLOR: black; FONT: 12pt/15pt 新细明体">找不到网页
|
<>
style="COLOR: black; FONT: 9pt/12pt 新细明体">查询的网页可能已经移除、变更名称或者暂时无法使用。 |
<>
style="COLOR: black; FONT: 9pt/12pt 新细明体">
请尝试下列:
- 如果在网址列输入网址,请确定未拼错任何资料。
- 开启
首页,然後查询您想索取之资讯的连结。
- 按
[上一页] 按钮,移到其它连结。
- 按一下
[搜寻] 来寻找 Internet 资讯。
HTTP 404 - 找不到档案
Internet Explorer
|
一般未使用自定错误之前,你所应该看到的画面应该如下图所示
至於蓝色那一段网址超连结的部分是透过404b.htm中Homepage()函数来解析所获得的,要使用自己所定义的错误页面有两种方式可以完成,第一种是直接将自己所做的错误页面存到C:\WINNT\help\common\404b.htm记得档名要取一样,第二个是将错误页面储存到你想存放的目录之下,然後直接修改站台内容中自定错误选项中的错误页面存放路径,如下图所示:
其中的http://www.yourserver.com/404.htm就是以URL为基准的存放路径。
在IIS4.0中我们只能够捕捉到404的错误讯息,但是IIS5.0却能利用ASP程式捕捉伺服器应用程式500和100错误(在编译或执行ASP程式时所发生的错误)的讯息,并在捕捉到讯息之後执行你想执行的ASP程式,譬如将使用者导向到某个网页,这样的方式让使用者不必再忍受一但浏览网路时遭遇到错误而无所适从的困境,因为使用者多半不晓得发生什麽事,如果透过网站管理员告知使用者将会让使用者觉得更贴心。
ASPERROR物件该如何使用呢?基本上他必须搭配SERVER物件的新方法GetLastError来使用,因为ASPERROR物件是透过Server.GetLastError方法来传回错误讯息的。譬如说你将IIS5.0设定成当捕捉到伺服器应用程式500或100错误讯息之後将使用者导向到Error.asp,并利用Error.asp来描述所发生的错误,让我们看看Error.asp在做些什麽事。
Error.asp
<%
Dim objLastASPError
'建立伺服器物件(取得ASP所产生的最後一项错误)
Set objLastASPError = Server.GetLastError
'描述错误情况
%>
伺服器遭遇如下的错误:
描述: <%=objLastASPError.Description%>
错误类别: <%=objLastASPError.Category%>
发生错误的档案: <%=objLastASPError.File%>
元件错误码: <%=objLastASPError.Number%>
基本上ASPError物件还有许多属性,而这些属性通通都是要靠建立伺服器物件,并以伺服器物件中的GetLastError方法来传回错误讯息,让我们看看ASPError物件还有哪些属性:
ASPCODE:传回IIS所产生的错误码
NUMBER:传回COM物件所产生的错误码
SOURCE:传回产生错误的那段原始程式
CATEGORY:如果是ASP内部产生错误,那会传回是COM还是手稿语言的错误
FILE:传回产生错误的ASP档案名称
LINE:指出是哪一行程式发生错误,传回行数
DESCRIPTION:传回简短错误讯息
ASPDESCRIPTION:传回详细错误讯息
基本上这就是IIS5.0中的ASP3.0和IIS4.0中的ASP2.0所不同之处,当然啦,还有许多小地方也改了,只是比较不受人注意所以没有写出来,像IIS4.0中Response.Buffer的预设值是False,若使用者需要再将其开启,但是IIS5.0为了提昇效能直接就将预设值设定为True,奇怪,既然能提昇效能为什麽IIS4.0要将他设定为False,打个电话去问比尔吧!!我也不知道。
以上就介绍了WINDOWS 2000搭载ASP3.0和IIS5.0,包括了方面的内容,希望对ASPjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_2384.html