|
ASP 3.0 新特色先睹為快(一) 如果你現(xiàn)在正在使用Win2000和IIS5.0的話,那么就可以體會到ASP 3.0 帶來的新改變了。。。 ASP 3.0相對于ASP 2.0(就是IIS 4.0中的asp版本)并沒有特別大的改動。 但是它也帶來了一些很有特色的加強功能,讓我們來看看這些新增的功能把: Server.Transfer 這是一種從當(dāng)前的asp頁面控制另外一個asp頁面的新的方法。 它可以用來替代Response.Redirect方法. 舉例說明: 假設(shè)你想在執(zhí)行了一些處理后將用戶重新定位到另外一個新的URL. 如果是在AS 2.0中,你的執(zhí)行過程是這樣的,先執(zhí)行你的處理過程然后使用 Response.Redirect將用戶重新定位到url。使用這種方法的問題是Response.Redirect 太過于臃腫了 (就是執(zhí)行效率太低下)- 因為這種方式是首先要給客戶端的瀏覽器發(fā)送一個 消息,告訴瀏覽器現(xiàn)在需要重新定位到一個新的url了.然后瀏覽器在讀取了這個 請求后,再給服務(wù)端返回一個信息,請求服務(wù)端把自己定位到那個url中去,最后 服務(wù)端才會處理這個新的請求并把html傳遞給客戶端。
從上面的過程中可以看出,一個Response.Redirect導(dǎo)致了大量的網(wǎng)絡(luò)通訊。 而Server.Transfer就是為了解決這個問題而出現(xiàn)的,它可以簡單的理解為服務(wù)端的 url重新定位,也就是說,它是直接在服務(wù)端就可以重新定位url的,而不必和客戶端進行 過多的通訊,從而能夠避免加重網(wǎng)絡(luò)通訊。 下面是一個簡單的例子: '執(zhí)行你所需要的處理過程 ... '將用戶重新定位到DoneProcessing.asp Server.Transfer "/scripts/DoneProcessing.asp"
Server.Execute 這個Execute方法有點類似與上面介紹的Transfer方法,但不同的是,Execute方法 會在被調(diào)用的asp頁面執(zhí)行完成后將控制權(quán)交給調(diào)用被調(diào)用的asp頁面。 呵呵,是不是有點糊涂呀,讓例子來說明問題: 假設(shè)Page1.asp的代碼如下: Response.Write "Hello, " Server.Execute "Page2.asp" Response.Write "World!"
而Page2.asp代碼如下: Response.Write "Good morning!"
當(dāng)通過瀏覽器瀏覽Page1.asp時,首先會輸出 Hello 到客戶端。 然后,將執(zhí)行Page2.asp,結(jié)果是將 Good morning! 輸出給客戶端. 最后,控制權(quán)又回到Page1.asp離開的地方,結(jié)果是將 World! 輸出給客戶端。 最后客戶端能夠看到的結(jié)果為:
Hello, Good morning!World!
對于這一切,客戶端并不知道Page1.asp調(diào)用了Page2.asp,并且瀏覽器也沒有 重新定位或則刷新,因為所有的這一切都是在服務(wù)端完成的。
|