ASP.NET MVC开发:Web项目开发必备知识点

最近加班加点完成一个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
  • 异常处理
  • 数据处理
Web开发基本就这些知识点,希望能给新手带来帮助!
上一篇:asp.net MVC 3多语言方案--再次写, 配源码


下一篇:一百元的智能家居——Asp.Net Mvc Api+讯飞语音+Android+Arduino