網路公司裁員、網站關閉、電子報停刊…,經歷電子商務的退潮之後,有人開始質疑電子商務是不是被高估了。也許網際網路不再編織賺大錢的美夢,但經過這幾年的洗禮,網際網路已經成為大眾生活中的一部份,據說台北市的國中生能製作網頁者已經相當普遍,由此可見一斑,當網頁製作變成一般知識之後,想生存於網際網路,夠不夠專業將是決勝因素。
在 .NET Framework底下,筆者很欣慰ASP(Active Server Pages)變得更專業了,簡單地回顧過去的ASP,我們至少可以指出幾個缺點:
- 只能使用VB Script或Java Script這兩種程式語言來開發ASP。
- 沒有好的偵錯程式(Debugger)。
- 網頁結構會隨著程式變大而一團亂。
- ADO無法直接與DataGrid元件結合。
本期筆者將為您解說ASP的新面貌(微軟把這個新的ASP稱為ASP.NET)。
從ASP到ASP.NET
ASP會變得很紅,恐怕連微軟也覺得意外,因為ASP一直都附屬於IIS,算不上獨立的產品。IIS版本與ASP版本的對應如下:
IIS 版本 附帶在 IIS 底下的 ASP 版本 IIS 3.0 ASP 1.0 IIS 4.0 ASP 2.0 IIS 5.0 ASP 3.0 有人會用1.0、2.0、3.0來區分ASP的版本,但筆者不以為然,因為從ASP 1.0版到3.0版,微軟並沒有花太多心思來改良ASP,只是因為IIS改版了,所以ASP也跟著做微幅的改版,因此從ASP 1.0版到3.0版,在功能上並沒有顯著的改變,所以不管ASP 1.0、2.0或3.0,筆者都叫它們ASP。
隨著ASP的使用者越來越多,希望ASP更好的聲音也越來越強烈,也許是從善如流,也許是為了推廣 .NET Framework,微軟針對ASP的使用者做了市場調查,找出ASP必須改良的地方,而發展了下一代的ASP,也就是ASP.NET(或者稱為ASP+)。
ASP.NET與ASP的相容性
從ASP升級到ASP.NET,大家最擔心的問題可能是「會不會影響既有ASP網頁的運作」,筆者將ASP作業平台升級到ASP.NET作業平台之後(本文撰寫時所安裝的ASP.NET版本是Beta 1),還沒有發現既有的ASP網頁不能運作或必須修改的。
在實際運作上,當ASP網頁(以 .asp為副檔名)被瀏覽時,IIS會啟動asp.dll來執行ASP網頁,而當ASP.NET網頁(以 .aspx為副檔名)被瀏覽時,IIS則會啟動xspwp.exe來執行ASP.NET網頁,兩者的執行檔案不同,因此不只是安裝ASP.NET之後,不會影響既有ASP網頁的運作,實際上ASP網頁及ASP.NET網頁是並存的。
另一個常問的問題是:需要將現有的ASP網頁轉換成ASP.NET網頁嗎?由於ASP網頁及ASP.NET網頁是並存的,因此運作得很順利的ASP網頁可以暫時不必修改,至於哪些網頁必須採用ASP.NET?以下是筆者的建議:
- 希望效能更高時:當ASP.NET網頁第一次被瀏覽時,Server會先將其編譯成MSIL(Microsoft Intermediate Language),並且儲存下來,而再度被瀏覽時,即不再重新編譯(除非 .aspx檔案的內容有所改變),因此可以提升不少效能。此外,ASP.NET還具備網頁及資料Cache功能(見稍後介紹),亦可提昇網頁的回應速度。
- 需要經常維護或修改的網頁:由於ASP.NET採用VB7為程式語言,具備完整的物件導向功能,有助於網頁的維護。
- 未來新開發的網頁:既然ASP.NET功能優於ASP,未來開發的網頁當然要採用ASP.NET。
程式語言的改變
從ASP到ASP.NET,其中的改變相當多,不過與ASP網頁製作者最有切身關係的應該是程式語言的改變