当前位置: 首页 > 图文教程 > 网络编程 > ASP > WINDOWS 2000搭載ASP3.0和IIS5.0

ASP
ASP连接SQL2005数据库连接代码
ASP程序与SQL存储过程结合使用详解
asp 小偷采集程序原理与常用函数方法
防盗链接ASP函数
asp将table生成excel文件(xls)
asp实现新评论自动发短信提示的代码
asp最简单的生成验证码代码
ASP 常见对象总结(熟悉一下利用以后的开发使用)
ASP UTF-8编码生成静态网页的函数
ASP+FSO生成的网页文件默认编码格式以及转换成UTF-8编码方法
asp Access数据备份,还原,压缩类代码
asp fso操作类
ASP 自动采集实现代码
asp 一些支付接口
ASP 递归调用 已知节点查找根节点的函数
用asp实现读取文件的最后一行的代码
用asp实现的获取文件夹中文件的个数的代码
ASP与Excel结合生成数据表和Chart图的代码
iis7 ASP+Access数据库连接错误
ASP 日期的加减运算实现代码

WINDOWS 2000搭載ASP3.0和IIS5.0


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 239 ::
收藏到网摘: n/a

    相信大部分的人目前所用的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如下:

<HTML>
<BODY>
<%
Response.Write Session.SessionID

Response.Write ("<BR>")

Response.Write("我要到下一個網頁去囉!! <BR>")

Server.Transfer("ASP2.asp")
%>

ASP2.asp如下
<HTML>
<BODY>
<%

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
<HTML>
<BODY>
<% Response.Write("你在看我嗎? <BR>")
Server.Execute("asp2.asp")
%>
</BODY>
</HTML>
ASP2
<HTML>
<BODY>
<% Response.Write("你可以再近一點。")%>
</BODY>
</HTML>
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你會發現當網址不存在時會出現如下的畫面: