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. 2个月,我从编程小白成为了Python研发工程师

    从编程小白,到Python研发工程师,需要多久呢? 答案就是:91门课,450个小时. 听起来似乎难以实现,但其实如果每天抽出八小时学习,两个月的时间,就能由编程小白转变成为Python工程师,听起来 ...

  2. Qt程序异常结束,The process was ended forcefully....

    我用的Qt版本是5.9.6,运行了好几次程序都妥妥当当的,然后就被安排上了...出现如下错误: 也是刚入手Qt不久,出现这样的错误我以为是代码的问题,然后撤销一些代码发现还是这样的错,索性就关闭Qt然 ...

  3. 使用API进行文件读写——CreateFile,ReadFile,WriteFile等

    看了这个帖子:  http://www.vbgood.com/thread-99249-1-1.html  就写了一个使用API读写文件的简单类,苦力活.  演示代码在附件里.  '********* ...

  4. AI赋能抗疫!顶象入选“中关村第二批抗疫新技术新产品新服务清单”

    新型冠状病毒疫情仍未到达拐点,要打赢这场疫情攻坚战,不仅需要全国人民共同努力,还要使用科技的手段,用科学来守护大家的安全.对病毒的识别需要运用生物学技术进行基因测序,病患需要依靠医学能力进行救治.与此 ...

  5. 2019杭电多校 permutation2

    Problem:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1007&cid=852 #include<bits ...

  6. python property(不动产)方法

    class Test(object): @property def test(self): return 100 @test.setter def test(self): return "修 ...

  7. C# LINQ GroupBy

    一.先准备要使用的类: 1.Person类: class Person { public string Name { set; get; } public int Age { set; get; } ...

  8. matplotlib 做图通过弹出窗口展示 spyder

    tools =>preferences=>Ipython console=>Graphics Graphics backend 中Backend 由Inline改为 Automati ...

  9. webrtc博客收藏

    <使用WebRTC搭建前端视频聊天室——入门篇><使用WebRTC搭建前端视频聊天室——信令篇><使用WebRTC搭建前端视频聊天室——点对点通信篇><使用W ...

  10. Charles 查看https请求数据 Mac/ android

    Charles_v4.0.1_Mac_破解版下载地址:https://pan.baidu.com/s/1c23VPuS 1.在Mac电脑上安装Charles的根证书 打开Charles->菜单H ...