使用ASP沒有錯只要適用夠用就行了但是在用ASPNET開發網站或系統的時候應該拋棄開發ASP時形成的習慣用ASPNET的方法去開發而不是在ASPNET中用ASP的寫法去做
在技術更新的進程中仍然有一些人死抱著已經過了氣的東西不放也有一些人雖然進入到新的世界但仍擺脫不了陳舊的習慣我沒有用陋習這個詞因為我對這個詞也非常反感
新技術應該有新技術的做法進入ASPNET的世界就應該把以往的習慣改正全新的進入新的世界把ASP的破爛扔掉
以下列舉的都是錯誤的做法請不要誤以為是推薦的做法而進行推廣
使用Server Side Include給ASPX引入共同的頁面構圖
在ASPNET的機制下應使用ASCX(web user control)來實現ASCX提供了更多可控制接口並且更重要的是ASCX是一個類一個實實在在的類可以全面控制它
不使用webconfig
webconfig提供了非常豐富的配置管理接口是一個應用程序最核心的部分但是很多人的webconfig往往是空的或者就從來沒有修改過
使用ResponseWrite向前端輸出消息
ASPNET平台下的Response和ASP的Response有很大的不同雖然表示同一含義但用法上已經大不相同ResponseWrite的內容只會輸出到頁的最前端向前端輸出消息的正確方法是使用PlaceHolder
使用一系列Session管理用戶連接狀態
這種方法在ASP裡被濫用在ASPNET環境下正確的做法應該是設計一個類結構化地保存數據將對Session或者Cookie的訪問封裝起來
使用Session驗證身份
這幾乎是通病ASPNET提供了一組用於用戶身份驗證的API類型是forms驗證或者windows驗證這一點quick start有一節講解得很清楚可是絕大部分人還是依靠給Session賦值來保持用戶身份驗證狀態
使用ResponseRedirect重定向頁
這一點在必要的時候可以使用但不可濫用事實證明濫用重定向將導致邏輯上的嚴重混亂這是在以頁為程序單元的時候的做法使用front controller模式將使用戶的操作邏輯集中起來
使用太多ASPX頁
ASP環境下的程序單元只有*asp頁ASPNET可不是這樣還有後端的類庫ASCX等等應將業務邏輯分別集中在不同的單元而不應該一項操作使用一個ASPX更多時候ASPX將做為ASCX或者custom control的容器而管理頁內邏輯ASPX重用ASCX的同時ASPX也做為統一的頁構圖重用
在多個邏輯單元之間復制代碼並修改相應邏輯
重用!重用!重用!處理此類問題的原則是不出現任何相同或相似的過程如果你用上面的方法一旦出現重大邏輯更改帶來的結果將是災難性的
害怕使用DataSet
很多人被DataSet嚇壞了認為肯定影響性能但連最初的嘗試都不敢他們總認為他們的產品一定重大設計上應該慎重他們往往使用ArrayList或者設計低級的類來保存集合數據進行艱難的數據倒入工作
[] []
From:http://tw.wingwit.com/Article/program/net/201311/15253.html