明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

ASP 3.0 新特色先睹為快(一)

[摘要]如果你現(xiàn)在正在使用Win2000和IIS5.0的話,那么就可以體會(huì)到ASP 3.0 帶來的新改變了。。。 ASP 3.0相對(duì)于ASP 2.0(就是IIS 4.0中的asp版本)并沒有特別大的改動(dòng)。 但是它也帶來了一些很有特色的加強(qiáng)功能,讓我們來看看這些新增的功能把: ...
  如果你現(xiàn)在正在使用Win2000和IIS5.0的話,那么就可以體會(huì)到ASP 3.0
帶來的新改變了。。。
    ASP 3.0相對(duì)于ASP 2.0(就是IIS 4.0中的asp版本)并沒有特別大的改動(dòng)。
但是它也帶來了一些很有特色的加強(qiáng)功能,讓我們來看看這些新增的功能把:
Server.Transfer
這是一種從當(dāng)前的asp頁面控制另外一個(gè)asp頁面的新的方法。
它可以用來替代Response.Redirect方法.
  舉例說明:
  假設(shè)你想在執(zhí)行了一些處理后將用戶重新定位到另外一個(gè)新的URL.
如果是在AS 2.0中,你的執(zhí)行過程是這樣的,先執(zhí)行你的處理過程然后使用
Response.Redirect將用戶重新定位到url。使用這種方法的問題是Response.Redirect
太過于臃腫了 (就是執(zhí)行效率太低下)- 因?yàn)檫@種方式是首先要給客戶端的瀏覽器發(fā)送一個(gè)
消息,告訴瀏覽器現(xiàn)在需要重新定位到一個(gè)新的url了.然后瀏覽器在讀取了這個(gè)
請(qǐng)求后,再給服務(wù)端返回一個(gè)信息,請(qǐng)求服務(wù)端把自己定位到那個(gè)url中去,最后
服務(wù)端才會(huì)處理這個(gè)新的請(qǐng)求并把html傳遞給客戶端。

  從上面的過程中可以看出,一個(gè)Response.Redirect導(dǎo)致了大量的網(wǎng)絡(luò)通訊。
而Server.Transfer就是為了解決這個(gè)問題而出現(xiàn)的,它可以簡(jiǎn)單的理解為服務(wù)端的
url重新定位,也就是說,它是直接在服務(wù)端就可以重新定位url的,而不必和客戶端進(jìn)行
過多的通訊,從而能夠避免加重網(wǎng)絡(luò)通訊。
下面是一個(gè)簡(jiǎn)單的例子:
'執(zhí)行你所需要的處理過程
...
'將用戶重新定位到DoneProcessing.asp
Server.Transfer "/scripts/DoneProcessing.asp"

Server.Execute
  這個(gè)Execute方法有點(diǎn)類似與上面介紹的Transfer方法,但不同的是,Execute方法
會(huì)在被調(diào)用的asp頁面執(zhí)行完成后將控制權(quán)交給調(diào)用被調(diào)用的asp頁面。
呵呵,是不是有點(diǎn)糊涂呀,讓例子來說明問題:
假設(shè)Page1.asp的代碼如下:
Response.Write "Hello, "
Server.Execute "Page2.asp"
Response.Write "World!"

  而Page2.asp代碼如下:
Response.Write "Good morning!"

  當(dāng)通過瀏覽器瀏覽Page1.asp時(shí),首先會(huì)輸出 Hello 到客戶端。
然后,將執(zhí)行Page2.asp,結(jié)果是將 Good morning! 輸出給客戶端.
最后,控制權(quán)又回到Page1.asp離開的地方,結(jié)果是將 World! 輸出給客戶端。
最后客戶端能夠看到的結(jié)果為:

Hello, Good morning!World!  

  對(duì)于這一切,客戶端并不知道Page1.asp調(diào)用了Page2.asp,并且瀏覽器也沒有
重新定位或則刷新,因?yàn)樗械倪@一切都是在服務(wù)端完成的。