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. 每一章节都有对应的项目分支代码

ASP.NET Core搭建多层网站架构【0-前言】的更多相关文章

  1. ASP.NET Core搭建多层网站架构【2-公共基础库】

    2020/01/28, ASP.NET Core 3.1, VS2019,Newtonsoft.Json 12.0.3, Microsoft.AspNetCore.Cryptography.KeyDe ...

  2. ASP.NET Core搭建多层网站架构【3-xUnit单元测试之简单方法测试】

    2020/01/28, ASP.NET Core 3.1, VS2019, xUnit 2.4.0 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构[3-xUnit单元测试 ...

  3. ASP.NET Core搭建多层网站架构【4-工作单元和仓储设计】

    2020/01/28, ASP.NET Core 3.1, VS2019, Microsoft.EntityFrameworkCore.Relational 3.1.1 摘要:基于ASP.NET Co ...

  4. ASP.NET Core搭建多层网站架构【5-网站数据库实体设计及映射配置】

    2020/01/29, ASP.NET Core 3.1, VS2019, EntityFrameworkCore 3.1.1, Microsoft.Extensions.Logging.Consol ...

  5. ASP.NET Core搭建多层网站架构【6-注册跨域、网站核心配置】

    2020/01/29, ASP.NET Core 3.1, VS2019, NLog.Web.AspNetCore 4.9.0 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站 ...

  6. ASP.NET Core搭建多层网站架构【7-使用NLog日志记录器】

    2020/01/29, ASP.NET Core 3.1, VS2019, NLog.Web.AspNetCore 4.9.0 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站 ...

  7. ASP.NET Core搭建多层网站架构【8.1-使用ViewModel注解验证】

    2020/01/29, ASP.NET Core 3.1, VS2019 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构[8.1-使用ViewModel注解验证] 使用V ...

  8. ASP.NET Core搭建多层网站架构【8.2-使用AutoMapper映射实体对象】

    2020/01/29, ASP.NET Core 3.1, VS2019, AutoMapper.Extensions.Microsoft.DependencyInjection 7.0.0 摘要:基 ...

  9. ASP.NET Core搭建多层网站架构【9.1-使用Autofac代替原生的依赖注入】

    2020/01/30, ASP.NET Core 3.1, VS2019, Autofac.Extensions.DependencyInjection 5.0.1 摘要:基于ASP.NET Core ...

  10. ASP.NET Core搭建多层网站架构【9.2-使用Castle.Core实现动态代理拦截器】

    2020/01/31, ASP.NET Core 3.1, VS2019, Autofac.Extras.DynamicProxy 4.5.0, Castle.Core.AsyncIntercepto ...

随机推荐

  1. 【vue】 vue跳转页面:router-link/this.$router.push()

    1.通过标签<router-link> <router-link to='A'>跳转到A页面</router-link> 2.通过方法 this.$router.p ...

  2. 录入规则文件名到CSV文件

    import os import sys import csv # 导出到csv文件 def export_to_csv(datas): with open('export.csv', 'w', ne ...

  3. 一起学Vue之列表渲染

    在Vue开发中,列表数据绑定非常简单易用,本文主要通过一些简单的小例子,讲述v-for的使用方法,仅供学习分享使用,如有不足之处,还请指正. 用 v-for 把一个数组对应为一组元素 我们可以用 v- ...

  4. SUSE中搭建kafka

     搭建环境: JDK: java version 1.8.0_221 zookeeper:zookeeper-3.5.2 kafka: kafka-2.11-1.1.0 一.安装JDK 由于需要jav ...

  5. linux虚拟机内网突然不通了

    之前安装后 内网,外网测试通常的,今天有开发反应es服务不通了  后来到服务器查看了一下,es和同步服务都停了 重新启动,发现同步服务无法启动,网络问题 报错信息“Failed to initiali ...

  6. 杭电oj1717——小数化分数(java实现)

    question:小数化分数2 思路: /** * 这道题没有整数部分(有也无所谓,算小数部分,算完了分子分母按倍数加上就好),也就是说数组直接从a[2]开始后面是小数,我把这道题分为了三类: * * ...

  7. java内部类概念

    一.成员内部类作为外部类的成员存在的类,则称之为成员内部类 public class OuterClass{ public class InnerClass{ } } 成员内部类样例 成员内部类具有如 ...

  8. 记录 shell学习过程(9)正则表达式 转自树明聊运维

    正则表达式 正则表达式介绍 特殊字符 POSIX特殊字符 一.正则表达式介绍 正则表达式是一种文本模式匹配,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符") ...

  9. [BJWC2010] 外星联络 - 后缀数组

    [BJWC2010] 外星联络 Description 求一个 \(01\) 串中所有重复出现次数大于 \(1\) 的子串所出现的次数,按照字典序排序输出. Solution 预处理出后缀数组和高度数 ...

  10. webpack 打包CSS 引入图片

    加载css 安装style-loader, css-loader npm install style-loader css-loader --save-dev 配置webpack.config.js文 ...