项目信息
- Gitee:https://gitee.com/dotnetchina/Furion
- Github:https://github.com/MonkSoul/Furion
- 文档:https://dotnetchina.gitee.io/furion
本期亮点
1. Sql
高级代理支持 IEnumerable<T>
、T[]
和 Tuple<(IEnumerable<T>, T[], T, List<T>)
混合返回值
public interface ISql : ISqlDispatchProxy { [SqlExecute("select * from person where id = @id")] Person GetPerson(int id); [SqlExecute("select * from person where id = @id")] Task<Person> GetPersonAsync(int id); // 异步 // ---------------------------------------- [SqlExecute("select * from person")] List<Person> GetPersons(); [SqlExecute("select * from person")] Task<List<Person>> GetPersonsAsync(); // 异步 // ---------------------------------------- [SqlExecute("select * from person")] Person[] GetPersons(); [SqlExecute("select * from person")] Task<Person[]> GetPersonsAsync(); // 异步 // ---------------------------------------- [SqlExecute("select * from person")] IEnumerable<Person> GetPersons2(); [SqlExecute("select * from person")] Task<IEnumerable<Person>> GetPersons2Async(); // 异步 // ---------------------------------------- // 更复杂的组合 [SqlExecute(@" select * from person where id = 1; select * from person; select * from person where id > 0; select * from person where id > 0; ")] (Person, List<Person>, Person[], IEnumerable<Person>) GetPersons(); // 更复杂的组合 [SqlExecute(@" select * from person where id = 1; select * from person; select * from person where id > 0; select * from person where id > 0; ")] Task<(Person, List<Person>, Person[], IEnumerable<Person>)> GetPersonsAsync(); // 异步 }
HTTP
请求作业通常用于定时请求/访问互联网地址。
services.AddSchedule(options => { options.AddHttpJob(request => { request.RequestUri = "https://www.chinadot.net"; request.HttpMedhod = HttpMethod.Get; // request.Body = "{}"; // 设置请求报文体 }, Triggers.PeriodSeconds(5)); });
作业执行日志如下:
info: 2023-03-11 11:05:36.3616747 +08:00 星期六 L System.Logging.ScheduleService[0] #1 Schedule hosted service is running. info: 2023-03-11 11:05:36.3652411 +08:00 星期六 L System.Logging.ScheduleService[0] #1 Schedule hosted service is preloading... info: 2023-03-11 11:05:36.5172940 +08:00 星期六 L System.Logging.ScheduleService[0] #1 The <job1_trigger1> trigger for scheduler of <job1> successfully appended to the schedule. info: 2023-03-11 11:05:36.5189296 +08:00 星期六 L System.Logging.ScheduleService[0] #1 The scheduler of <job1> successfully appended to the schedule. warn: 2023-03-11 11:05:36.5347816 +08:00 星期六 L System.Logging.ScheduleService[0] #1 Schedule hosted service preload completed, and a total of <1> schedulers are appended. warn: 2023-03-11 11:05:41.5228138 +08:00 星期六 L System.Logging.ScheduleService[0] #15 Schedule hosted service will sleep <4970> milliseconds and be waked up at <2023-03-11 11:05:46.486>. info: 2023-03-11 11:05:41.5542865 +08:00 星期六 L System.Net.Http.HttpClient.HttpJob.LogicalHandler[100] #9 Start processing HTTP request GET https://www.chinadot.net/ info: 2023-03-11 11:05:41.5589056 +08:00 星期六 L System.Net.Http.HttpClient.HttpJob.ClientHandler[100] #9 Sending HTTP request GET https://www.chinadot.net/ info: 2023-03-11 11:05:44.1305461 +08:00 星期六 L System.Net.Http.HttpClient.HttpJob.ClientHandler[101] #8 Received HTTP response headers after 2566.7836ms - 200 info: 2023-03-11 11:05:44.1343977 +08:00 星期六 L System.Net.Http.HttpClient.HttpJob.LogicalHandler[101] #8 End processing HTTP request after 2584.2327ms - 200 info: 2023-03-11 11:05:48.6475959 +08:00 星期六 L System.Logging.ScheduleService[0] #4 Received HTTP response body with a length of <63639> output as follows - 200 <!DOCTYPE html><html><head> <title>dotNET China | 让 .NET 开发更简单,更通用,更流行</title> ...... </body></html>
本期更新
-
新特性
- [新增] 定时任务
HTTP
作业,支持定时请求互联网URL
地址 4.8.7.7 ⏱️2023.03.11 01d4466 - [新增] 定时任务作业触发器
Trigger
执行结果Result
和执行耗时ElapsedTime
属性 4.8.7.7 ⏱️2023.03.11 01d4466 - [新增] 定时任务作业看板支持查看作业触发器执行结果
Result
和执行耗时ElapsedTime
属性 4.8.7.7 ⏱️2023.03.11 01d4466 - [新增] 定时任务休眠时长和唤醒时机日志输出 4.8.7.6 ⏱️2023.03.08 #I6LANE
- [新增]
Sql
高级拦截支持返回IEnumerable<T>
和T[]
类型值 4.8.7.5 ⏱️2023.03.07 f2ca2d3 - [新增]
.m3u8
和.ts
文件类型MIME
支持 4.8.7.5 ⏱️2023.03.07 #I6KKEM - [新增] 审计日志
LoggingMonitor
支持对参数贴[SuppressMonitor]
特性跳过记录 4.8.7.3 ⏱️2023.03.01 #I6IVGW - [新增] 审计日志
LoggingMonitor
监听TraceId
、ThreadId
、Accept-Language
4.8.7.1 ⏱️2023.02.27 df35201 - [新增] 规范化结果
UnifyContext.GetSerializerSettings(string)
静态方法 4.8.7.1 ⏱️2023.02.27 #I6HM7T
- [新增] 定时任务
-
突破性变化
- [升级] 适配
.NET8 Preview.1
4.8.7 ⏱️2023.02.22 - [升级] 脚手架支持创建
.NET8 Preview.1
项目 4.8.7 ⏱️2023.02.22
- [升级] 适配
-
问题修复
- [修复] 定时任务服务在停止进程时会卡住
30秒
问题 4.8.7.8 ⏱️2023.03.13 #I6MI9I #I6MHOU - [修复] 定时任务看板删除不存在的作业触发器出现空异常 4.8.7.7 ⏱️2023.03.11 01d4466
- [修复] 日志消息没有处理
\n
换行符对齐问题 4.8.7.6 ⏱️2023.03.10 759bcc5 - [修复] 审计日志
LoggingMonitor
对特定参数贴有[FromServices]
特性依旧记录问题 4.8.7.3 ⏱️2023.03.01 17b134e - [修复]
Swagger
接口排序同时指定Tag
和Order
之后无效 4.8.7.2 ⏱️2023.03.01 #I6IQDI #I6IP66
- [修复] 定时任务服务在停止进程时会卡住
-
其他更改
- [调整] 定时任务查看作业触发器运行记录由保存
10条
改为5条
4.8.7.7 ⏱️2023.03.07 01d4466 - [调整] 脚手架模板,默认启用主流文件类型
MIME
支持 4.8.7.5 ⏱️2023.03.07 e35cdab - [调整] 审计日志
LoggingMonitor
返回值泛型字符串显示格式 4.8.7.1 ⏱️2023.02.27 df35201
- [调整] 定时任务查看作业触发器运行记录由保存
-
文档
- [新增] ASP.NET 8 集成 文档
- [新增] .NET7 升级 .NET8 文档
- [更新] 定时任务文档、中间件文档、规范化结果文档、动态
WebAPI
文档、日志记录文档、事件总线文档、虚拟文件系统文档、Sql
高级代理文档、数据库实体文档、任务队列文档
-
贡献者
- kingling (@kinglinglive) !732 !729
- ksmy (@ksmy) !731
- handsome_by (@handsomeboyyl) !727
还没有评论,来说两句吧...