ASP.NET Core搭建多层网站架构【0-前言】

风流意气都作罢 提交于 2020-12-13 02:54:29

2020/01/26, ASP.NET Core 3.1, VS2019

摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构

目录

0-前言

1-项目结构分层建立

2-公共基础库

3-xUnit单元测试之简单方法测试

4-工作单元和仓储设计

5-网站数据库实体设计及映射配置

6-注册跨域、网站核心配置

7-使用NLog日志记录器

8.1-使用ViewModel注解验证

8.2-使用AutoMapper映射实体对象

8.3-编写角色业务的增删改

9.1-使用Autofac代替原生的依赖注入

9.2-使用Castle.Core实现动态代理拦截器

10-使用JWT进行授权验证

11-WebApi统一处理返回值、异常

12-xUnit单元测试之集成测试

13-扩展之网站支持全球化和本地化多语言语系

14-扩展之部署到IIS

15-扩展之使用Obfuscar混淆加密保护代码

网站内容

  • 简单的后台管理系统,拥有用户登录、角色管理、日志记录的功能

  • 支持MySQL、SQL server数据库

  • 泛型仓储设计完善,不用每个实体单独定义一个仓储(也可以使用this自定义扩展或覆写)

  • 工作单元统一管理所有的仓储,统一管理事务和提交

  • 开发调试阶段,开启EntityFrameworkCore的日志,可以看到每次执行的具体sql,方便排查错误

  • NLog日志记录根据日志等级自动过滤日志事件

  • NLog写入数据库的连接字符串自动与appsettings.json中的配置保持一致

  • 实体类Id使用雪花算法生成

  • Castle.Core实现动态拦截器(AOP)对业务层的异常统一进行日志记录

  • 登录验证使用JWT

  • 用依赖注入的方式使用AutoMapper

  • 使用ResXManager插件对多语言资源文件进行管理维护

  • 使用Obfuscar混淆加密保护代码

技术介绍

  • 主要采用ASP.NET Core 3.1(WebApi) 框架实现一个后台管理系统

  • EntityFrameworkCore 3.1做ORM工具,FluentAPI方式配置实体映射

  • NLog做日志记录

  • Autofac配合Castle.Core实现动态拦截器(AOP)

  • JWT做登录验证

  • AutoMapper做映射工具

  • Postman做接口调试

实现目标

  1. 每一处代码(每一个工具)尽量做到最佳实践
  2. 完善的单元测试
  3. 每一章节都有对应的项目分支代码
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!