ASP.NET Core搭建多层网站架构【0-前言】
2020/01/26, ASP.NET Core 3.1, VS2019
摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构
目录
0-前言
网站内容
-
简单的后台管理系统,拥有用户登录、角色管理、日志记录的功能
-
支持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做接口调试
实现目标
- 每一处代码(每一个工具)尽量做到最佳实践
- 完善的单元测试
- 每一章节都有对应的项目分支代码