最近加班加点完成一个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
异常处理
数据处理