Commit Graph

158 Commits

Author SHA1 Message Date
LemonNoCry
afb9a0d9f5
🐛 修复错误添加备用链接 2023-11-03 09:22:02 +08:00
LemonNoCry
f87b33a4a8
🐛 配置错误 2023-10-25 11:20:51 +08:00
LemonNoCry
0901de2fbf
🎨🎉 优化原有的DBS配置、新增数据库故障转移方案
1.优化原有的DBS配置,破坏性修改,原有的DBS配置在多库和读写分离无法兼容,配置写法不是合适,故此优化
2.新增数据库故障转移方案,例如主库挂了自动切换到备用库,备用库不会由程序维护,需要运维、dba去做数据库同步方案,比如Sqlserver事务日志传输等

故障转移方案兼容多种方式
1.数据库主从方案
在配置主从之后,需要将从库配置为备用链接就行了
一般就是:修改、写入、删除走主库,查询操作走从库,在主库挂了后则所有操作走从库
2.数据库主备方案
日常使用主数据库操作,备用库只是备份,只有主库挂了才会用备用库

从库和备库都属于slave库功能
2023-10-19 16:28:20 +08:00
LemonNoCry
6d0a3dfc09
🐛🐛🐛 修复RootService内存溢出 2023-08-30 19:40:54 +08:00
anjoy8
8372a3a0d4 feat: 🎉 test log sql operate log 2023-08-23 16:13:42 +08:00
LemonNoCry
f5a2631d7e
SignalR Demo
优化SignalR,通过传递token确认身份
2023-07-05 17:34:40 +08:00
anjoy8
990dcfd756 Update ExceptionHandlerMiddleware.cs 2023-06-25 17:01:14 +08:00
LemonNoCry
45116fe5af
🎨 启用异常处理中间件,统一拦截异常 2023-06-13 17:29:41 +08:00
LemonNoCry
a338c56e7a
🎨 优化吞异常问题、优化HttpResponse Body读取问题
1.处理掉中间件过度try catch 吞掉异常,建议直接往上抛不要过度try
2.优雅处理HttpResponse读取问题,原生[HttpResponseStream]实际上只是个包装类,内部包装了[HttpResponsePipeWriter]来进行写入响应数据,由此封装一个[FluentHttpResponseStream],内部扩展使用[MemoryStream]来读取
2023-06-12 17:45:15 +08:00
LemonNoCry
c1ce9e5972
🎨 移除原有的RedisCacheAop 与CacheAop有些重复 2023-06-12 11:34:39 +08:00
LemonNoCry
60cade83d4
🎨 优化AOP缓存 2023-06-12 11:16:45 +08:00
LemonNoCry
3a25de3fc3
优化Redis注入 2023-06-10 11:23:54 +08:00
LemonNoCry
96e21474bc
🎨优化缓存注入、移除多余代码 2023-06-07 15:25:13 +08:00
LemonNoCry
7629527ee9
🎨 缓存的完善优化
1.统一封装基于微软分布式缓存接口IDistributedCache使用
2.IDistributedCache只适合普通的缓存使用,如果要使用redis队列、订阅redis消息等,就要使用redis原生库
3.增加缓存管理接口[Systems/CacheManageController]
4.目前支持内存、redis缓存实现,理论可随意扩展甚至自定义实现
5.默认使用内存缓存,可在appsetting.json中配置Redis

切换到IDistributedCache好处如下
默认session使用IDistributedCache进行存储,如果你搭配使用IDistributedCache+外部缓存(如Redis),可实现应用程序重启session不丢失
更直观就是,调试的时候登录swagger后即使重启调试也无需在登陆
2023-06-01 17:54:54 +08:00
anjoy8
3f24902521 Update PermissionHandler.cs 2023-05-30 10:27:43 +08:00
LemonNoCry
0cea9672b5
优化Swagger
1.swagger登录可以用用户账号登录,如果登录成功 token存在session中 之前默认admin感觉没什么用 当然也可以扩展User 加个字段是否开发者帐户等类似的
2.优化权限校验 优先读取Header->没有读取Session 中token解析用户
2023-05-24 11:19:36 +08:00
LemonNoCry
e9f1ef5c01
增加数据库管理 2023-05-11 18:07:02 +08:00
anjoy8
8183be9d58 feat: change maindb sort 2023-05-08 16:55:41 +08:00
anjoy8
8662047671 feat: new user login 2023-05-05 18:11:24 +08:00
LemonNoCry
50a936bdeb 增加IOption配置
原有AppSetting 手写字符串去读取,极容易出错,扩展性也低:如果要修改或者增加值 就要到处都写
保留AppSetting基础上增加IOption方便读取配置,可反序列对象

增加IConfigurableOptions接口
可参考SeqOptions配置
配置文件名为Option或Options结尾,匹配时会忽略Option或Options

SeqOptions->对应 AppSetting中Seq节点

可直接在控制器中注入使用 参考ValuesController
 private readonly SeqOptions _seqOptions;
cto(IOptions<SeqOptions> seqOptions){
    _seqOptions = seqOptions.Value;
}
2023-04-22 11:10:30 +08:00
LemonNoCry
90157e470d 添加Seq配置 2023-04-14 11:46:44 +08:00
LemonNoCry
7b8d60d9d0 优化Http消息模版 增加亿些附加属性 2023-04-14 11:20:10 +08:00
LemonNoCry
7c4b76aeea Serilog log to db 2023-04-06 22:40:05 +08:00
LemonNoCry
0d2a95e0e9 初步调整Serilog 2023-04-01 23:25:56 +08:00
Lemon.NoCry
296201998d 🎨 增加多租户-分库方案
1.自动初始化维护租户库
2.多租户库种子数据维护

分库方案 TenantByDbController
2023-02-18 01:17:19 +08:00
ansonzhang
a1cfe663a9
Merge branch 'master' into feature/multi-tenant 2023-02-14 21:21:47 +08:00
HuiJiOnGit
b36db59e1a 迁移应用中间件启动服务到HostedService 2023-02-13 13:47:18 +08:00
Lemon.NoCry
151e7fc0ab 🎨 多租户
1.兼容使用多租户多种方案
2.增加系统租户表、用户增加租户id、新增一张业务表用于租户测试数据
3.TenantByIdController 租户使用
2023-02-07 00:27:55 +08:00
anjoy8
04905f0715 feat:JobSetup_HostedService 2023-02-05 22:36:15 +08:00
anjoy8
a30f184996 feat: add authing sso 2023-01-29 16:19:30 +08:00
anjoy8
4a04ac6946 Update PermissionHandler.cs 2022-12-25 13:33:36 +08:00
anjoy8
6ee7eb69eb feat:make some change 2022-11-27 14:36:14 +08:00
Nine
aeae9bc362 日志审计加入TraceId,链路ID用于查询整个请求所有相关日志,HttpContext.TraceIdentifier 属性(获取或设置一个唯一标识符,用于在跟踪日志中表示此请求。)
目前sql打印的没有加入和计划调度的没有添加TraceId
2022-11-24 14:12:19 +08:00
Nine
64a628fa62 1.修改项目默认日志记录为SQLite结构化日志记录,LogAOP,RecordAccessLogs,IPLog,RequestResponseLog,默认记录sqlite数据库,不记录文件,SqlAOP默认只在控制台显示,不记录数据库和文件
2.设置swagger打开默认折叠接口,接口量增加后,查找变得麻烦,自动折叠
2022-11-23 14:05:04 +08:00
ansonzhang
5e4669b88b
Merge pull request #307 from Jamnine/master
增加实体表GblLogAudit,结构化日志记录 LogType 系统内定义的五种审计日志AOPLog、RequestResponseLo…
2022-11-13 12:39:49 +08:00
Nine
e03f93b29b 增加实体表GblLogAudit,结构化日志记录 LogType 系统内定义的五种审计日志AOPLog、RequestResponseLog、RequestIpInfoLog、RequestResponseLog、RecordAccessLogs
DataType : 记录日志的数据类型Blog.Core.Common.LogHelper.AOPLogInfo......
配置文件修改,删除“LogToDb”配置节点
LogAOP、SqlAOP、RequestResponseLog、IPLog、RecordAccessLogs增加都增加两个开关
“LogToFile”和“LogToDB”,用于分别单独控制每个日志类型记录文件还是数据库,还是同时都记录
可以采取环境变量读取不同appsettings.json 进行不同环境记录日志不同
我目前主要采取开发环境双边记录,日志和数据库,Production生产环境只记录数据库
2022-11-07 12:22:18 +08:00
Lemon.NoCry
b5cd8bcbd1 统一命名 2022-10-14 18:36:12 +08:00
LemonNoCry
dabbc7ea3b UnitOfWork简化事务操作 2022-10-14 11:34:45 +08:00
Nine
afd20399d4 修改Appsettings 驼峰命名规范为AppSettings,增加sqlsugar model 定义表字段注释示例在Blog.Core.Model.Models.SysUserInfo 2022-10-11 14:10:28 +08:00
ansonzhang
36d7037b01
Merge pull request #297 from hudingwen/master
PR
2022-09-19 19:34:26 +08:00
zhanganzhong
784644e032 feat: update nuget package 2022-09-07 18:29:51 +08:00
ansonzhang
b84384321f
Merge branch 'master' into master 2022-08-06 16:55:29 +08:00
ansonzhang
e719cacfc4
Merge pull request #293 from 773596523/master
 增加事务传播机制
2022-08-06 12:19:32 +08:00
LemonNoCry
3e4b4156dd 🎨 统一命名空间 2022-08-05 09:32:50 +08:00
LemonNoCry
6bcde27c82 增加事务传播机制
1.UseTran特性中增加事务传播特性,具体看Propagation
2.原有是直接默认嵌套事务不灵活
测试看TransactionController
2022-08-04 15:16:08 +08:00
hudingwen
6d9a0ede04 去除dal冗余代码,科学上网管理 2022-08-02 21:53:16 +08:00
LemonNoCry
5e136120d4 增加用户字段:关键业务修改时间、Token失效返回401配合vue可无感刷新Token 2022-07-25 19:22:08 +08:00
LemonNoCry
03de3abe08 Token 增加签名时间 🐛解决一个小bug MessageModel.success 赋值错误
1.解决用户修改关键信息后(如修改密码、修改名称等等) token不会失效
2.可解决用户修改部门、角色、权限后 token失效 只需要刷新User的修改时间
2022-07-23 18:53:26 +08:00
zhanganzhong
2b71debf43 Fixed #285 bug 2022-07-04 12:29:20 +08:00
anjoy8
2bc4fbf297 Fixex #271 bug 2022-04-20 18:14:27 +08:00