Skip to content

feature/第一次提交 日志 全局异常 全局事务

Notifications You must be signed in to change notification settings

SkylerSkr/BaseFrameworkCore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7db07b4 · Oct 10, 2019

History

59 Commits
Sep 21, 2019
Aug 29, 2019
Oct 10, 2019
Aug 29, 2019
Aug 29, 2019
Aug 29, 2019
Sep 18, 2019
Sep 3, 2019
Jul 15, 2019
Jul 15, 2019
Sep 3, 2019
Sep 3, 2019

Repository files navigation

BaseFrameworkCore

#项目介绍
这是一个基于.Net Core设计的基础框架,只是后端框架。
使用了AutoFac做依赖注入,接口化编程更易于扩展。
用Dapper做orm框架,很轻很快速,提供了简单的扩展方法,可以在biz层快速的处理单表的CRUD,支持多数据库。
请求和响应标准化,对前端保证一致性。
使用Jwt做认证和授权,支持角色,策略,数据库动态鉴权。
使用过滤器做了日志记录。
使用管道重写了异常响应。
使用拦截器实现了单请求内非侵入的全局事务。
使用拦截器实现了按请求为Key的Redis全局缓存。

分层

1-SDK 请求层

Request文件夹:存放了请求基类和自定义请求,请求抽象类使用了逆变和协变,这样设计是为了后来做单元测试的时候更加方便。
Response文件夹:存放了响应通用响应。
Model文件夹:存放业务模型。

2-Biz 业务层

存放Service类和接口,需要命名规范,因使用autofac的反射来映射。
通过RepoBase,可以快速处理单表的CRUD。

3-DataAccess 数据访问层

Base.Domain 实体层

Entitys文件夹:实体,需继承EntityBase基类。
Enum文件夹:数据库枚举。

Base.Repository 数据访问层

Repo文件夹:存放Repo,需继承RepositoryBase基类才可使用分页。
DBProxy:管理数据库连接对象。 RepoBase:一些扩展方法,使用此扩展方法,可以在Biz层快速处理单表的CURD,支持多数据库。

4-Common 公共层

5-BaseTest 单元测试层

Base.Api 表示层

Controllers文件夹:存放控制器。
AuthHelper文件夹:Jwt认证中间件。
Error文件夹:异常处理中间件。
Filter文件夹:动作过滤器记录日志和认证,异常过滤器记录异常日志。
Interceptor文件夹:
1.使用拦截器控制全局事务,单请求内有非侵入的事务处理。
2.使用拦截器实现全局缓存,单请求内以请求为Key的Redis缓存。(StartUp中注入,Biz层方法上加特性。)

PS

此项目大家提交的时候不要提交到master分支,请自己创建分支提交,谢谢大家。
为了.Net社区,大家一起努力吧!

About

feature/第一次提交 日志 全局异常 全局事务

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages