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