推薦:“Web 匿名用戶”帳戶密碼的位置問:我們希望向“Web 匿名用戶”帳戶授予從其他系統上讀取信息的訪問權;可是,我們不知道該帳戶的密碼。怎樣才能獲得該密碼呢?答:IUSR_<計算機名> 帳戶就是“Web 匿
在技術更新的進程中, 仍然有一些人死抱著已經過了氣的東西不放. 也有一些人雖然進入到新的世界, 但仍擺脫不了陳舊的習慣. 我沒有用”陋習”這個詞, 因為我對這個詞也非常反感.
新技術應該有新技術的做法, 進入ASP.NET的世界, 就應該把以往的習慣改正, 全新的進入新的世界, 把ASP的破爛扔掉.
以下列舉的都是錯誤的做法, 請不要誤以為是推薦的做法而進行推廣:
1. 使用server side include給ASPX引入共同的頁面構圖.
在ASP.NET的機制下, 應使用ASCX(web user control)來實現. ASCX提供了更多可控制接口. 并且更重要的是, ASCX是一個類. 一個實實在在的類. 可以全面控制它.
2.不使用web.config
web.config提供了非常豐富的配置管理接口. 是一個應用程序最核心的部分. 但是很多人的web.config往往是空的. 或者就從來沒有修改過.
3.使用Response.Write向前端輸出消息
ASP.NET平臺下的Response和ASP的Response有很大的不同. 雖然表示同一含義, 但用法上已經大不相同. Response.Write的內容只會輸出到頁的最前端. 向前端輸出消息的正確方法是使用PlaceHolder.
4.使用一系列session管理用戶連接狀態
這種方法在ASP里被濫用. 在ASP.NET環境下, 正確的做法應該是設計一個類. 結構化地保存數據. 將對session或者cookie的訪問封裝起來.
5.使用session驗證身份
這幾乎是通病. ASP.NET提供了一組用于用戶身份驗證的API. 類型是forms驗證或者windows驗證. 這一點quick start有一節講解得很清楚. 可以絕大部分人還是依靠給session賦值來保持用戶身份驗證狀態.
6.使用Response.Redirect重定向頁
這一點在必要的時候可以使用. 但不可濫用. 事實證明濫用重定向將導致邏輯上的嚴重混亂. 這是在以頁為程序單元的時候的做法. 使用front controller模式將使用戶的操作邏輯集中起來]
7.使用太多ASPX頁
ASP環境下的程序單元只有*.asp頁, ASP.NET可不是這樣, 還有后端的類庫, ASCX等等. 應將業務邏輯分別集中在不同的單元, 而不應該一項操作使用一個ASPX. 更多時候ASPX將做為ASCX或者custom control的容器而管理頁內邏輯. ASPX重用ASCX的同時, ASPX也做為統一的頁構圖重用.
8.在多個邏輯單元之間復制代碼并修改相應邏輯
重用. 重用. 重用. 處理此類問題的原則是不出現任何相同或相似的過程. 如果你用上面的方法, 一旦出現重大邏輯更改, 帶來的結果將是災難性的.
新聞熱點
疑難解答