最近加班加點完成一個Web項目,使用Asp.net MVC開發。很久以前接觸的Asp.net開發還是Aspx形式,什么Razor引擎,什么MVC還是這次開發才明白,可以算是新手。
對新手而言,那進行Asp.net MVC開發應該提前掌握多少程度的知識點才能暢通無阻進行開發?
下面是這次開發結束后做的一些知識點梳理總結,掌握如下知識點開發大型Asp.net MVC項目將不會有太大問題。
知識點總綱
-
代碼規范
-
前段View
-
后端
1. 代碼規范
好的規范可以讓團隊更加有效率!
-
C#代碼規范
使用StyleCop檢查代碼 -
Sql規范
使用工具整形 -
JS規范
ESLint,JSHint,JSLint工具 -
HTML標簽規范
-
Resource資源名稱規范
_W0001:警告,_E0001:錯誤,_C0001:確認 等
2. 前端View
基本上都會用到的知識。
-
Razor
-
Htmlhelper
-
Html+css+div
如果以后走設計道路這方面得加強點。
-
image
項目使用到的各類圖片,需要美工設計與切割。
-
JS腳本
-
typescript
微軟開源工具,最后編譯成Javascript文件執行。
-
javascript
-
Jquery
-
Microsoft.jQuery.Unobtrusive.Validation
微軟前端控件檢測腳本,可以自己擴展。
-
-
-
ViewModel
-
Display
字段在View中表示名稱,一般綁定Resource文件內容。
-
DataType
字段對應View中的控件類型。
-
Validation
-
Required
入力必須檢測
-
StringLength
入力值長度檢測
-
regex
入力值正則表達式檢測
-
range
輸入范圍檢測
-
自定義Validaiton
自定義各種檢測規則,必須繼承ValidationAttribute和IClientValidatable。
-
-
-
分頁
一次性全部Select出來還是分頁Select出來,這些都是需要衡量數據容量。
-
檢索
對數據進行檢索比較復雜,可以是簡單的模糊匹配或者其他等等。
3. 后端
對前段的輸入做處理。
-
Controller
-
FilterAttribute
對Controller或者Action進行制約。
-
AuthorizeAttribute
對Controller或者Action進行認證判斷。
-
Identity
-
Form認證
-
-
ValidateAntiForgeryTokenAttribute
防止跨站攻擊。
-
ActionNameSelectorAttribute
一個View多個Action。
-
LogAttribute
寫Controller或者Action的操作Log。
-
SessionTimeoutAttribute
Session超時判斷。
-
HandleErrorAttribute
對Controller或者Action的異常進行處理。
-
-
Action
-
ViewResult
-
ActionResult
-
JsonResult
-
Session+TempData+ViewBag+ViewData
多種數據保存方式,方便View與Action,Action與Action之間數據共享。
-
PRG
對POST請求的Action處理結束時做Redirect到Get Action。防止用戶F5更新再次提交POST請求導致數據更新或者插入。
-
Include
-
-
-
數據服務
-
Service
-
事務處理
-
存儲過程
-
-
-
Repository
-
ORM
-
Entity Framework
DB First或者Code First開發模式。EF提供linq to sql和數據集到Model的轉換,性能稍微有些不好。
-
Dapper
對Connection擴展,只提供數據集到Model的轉換,性能不錯。
-
-
-
Entity
-
-
異常
-
IIS異常
-
Application_Error
-
ErrorController
-
-
Action異常
-
Controller.OnException
-
HttpAntiForgeryException處理
一般發生Token異常時將跳轉到登陸界面。
-
-
Web.Config customErrors 配置
設置Action發生異常時跳轉到那個錯誤界面。
-
-
-
Log
-
Service的Log
-
Repository的Log
-
Sql執行的Log
-
Action的Log
通過Filter可以全局設置。
-
難點
-
JS腳本
-
自定義Validation
-
異常處理
-
數據處理