首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 2.0 與 Visual Studio 2005 優缺點深度評析:優點篇

     編輯:關於ASP.NET

ASP.NET 2.0 與 Visual Studio 2005 正式上市至今已有好幾個月。隨時間推移,越來越多人能使用此產品。本文作者基於試用嘗試從個人角度對此產品優點與不足作評析,僅供參考。

一、引言

說實在的,我對 ASP.NET 2.0 與 Visual Studio 2005 關係有些喜歡也有些討厭;但我最終決定將大多數內部應用程式遷移到 2.0 並決不後悔。基本上,ASP.NET 2.0 存在太多新特性使我生活更輕鬆,且從此不再回到 1.1 版本編程。

到目前為止,此平台工作良好。我已發現其中許多改進能大量降低編碼複雜度與編碼量,效能約提升 10~20%,減少記憶體需求(對大型應用程式十分重要),但對我工作幾乎無太大作用。

將 2.0 特性加入現有應用程式絕非一蹴而就。但隨著我逐漸習慣快速將大量 2.0 特性加入新式應用程式,我最後感覺:若回到 ASP.NET 1.1 和 VS 2003,將是巨大倒退。

二、優點評析

下面逐步剖析此新產品主要變化,先看優點。

(一) Visual Studio 2005 基於檔案的專案開發

現在,在 Visual Studio 2005 中,你能將一個目錄作為 Web 專案開啟,這是相當不錯改進。我開發機器上可能有 50 個不同 Web 專案。用舊版 VS2003,要將所有這些作為 IIS 虛擬目錄配置維護並使專案正確引用是相當頭痛事。你不這麼認為嗎?你是否想將某些專案移到新機器?VS2005 中,只需簡單指向一個目錄即可開啟專案。完全可使用本地 Web 伺服器建構方式運行應用程式,免除配置 Web 伺服器需要。

此特性特別適合共享範例開發者——任何想檢查範例 Web 應用程式開發人員不必經受基於 IIS 配置痛苦。現在,借助基於檔案專案,你能——至少在開發場所下——實現真正「xCopy」專案。此特性相當偉大,但也不無缺點(稍後詳述)。

【另註】我接觸每位都喜歡內建 Cassini Web 伺服器。當然我也喜歡,因它極大簡化許多問題處理。然而,使用過程中也存在缺點。主要應避免 Cassini 與 IIS 相互干擾。例如,Cassini 能將所有請求傳遞給 ASP.NET 而忽略副檔名。若你擁有處理特定檔案型別客製化處理器(如動態建構 Excel 報表等),必須記住發布應用程式時,要在 IIS 中為副檔名建立客製化對應;否則 IIS 不會將請求傳遞給 ASP.NET。我接觸許多朋友發布時花大量時間解決應用程式問題,因開發過程從不擔心 Cassini 配置設定問題。

(二) 母版頁面

現在,你可定義一個能在應用程式中重用的母版頁面模板。使用此功能能節省大量開發時間。事實上,2.0 版本出現前,已存在基於 ASP.NET 1.x 此概念,但對我來說,吸引我最關鍵特性在於 Visual Studio 提供對其可視化支援。這可使你看到母版版面配置,其中 ContentPlaceholders 可套用每個頁面提供頁面級內容。

除了設計器提供重要可視化方面外,母版頁面模板還提供良好方式將彼此相關可重用程式碼連結起來。母版頁面目的是將以前需用若干使用者控制項(如 Header、Footer、Sidebar)實現功能融合在一起,使它們比以前更有效實現邏輯分離。

【另註】你還能在執行時動態改變母版頁面,實現更大彈性。此支援讓用戶能改變應用程式整體外觀感覺;而且此效果僅憑切換層疊樣式表無法實現。

(三) 使用者控制項可視化描述

說實在的,我非常希望自己在設計時就能看到整個頁面樣子。如母版頁面一樣,現在 Visual Studio 2005 能在 Web 表單編輯器內顯示生成的使用者控制項。不再像舊式、非描述性灰色方框加控制項名,現在你能在設計器內得到全面生成恰當到位控制項。雙擊它,VS 就能導航到使用者控制項設計器。我開發中一般不大量使用使用者控制項,而是用母版頁面取代許多現有控制項,但我發現此使用者控制項可視化描述使設計模式更有用。對我現有 1.1 版本應用程式尤其如此——這些程式通常仍用此類控制項表達頁首、側欄與頁尾。

【另註】完全自動生成使用者控制項極大節省開發時間。當然,我仍需花不少時間從 IDE 到瀏覽器來回切換觀察使用者控制項最終生成樣子。僅此而已。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved