Tool.Net 3.4.3 版本更新了
他是一个正式版本,可以用于线上运营,使用 Apache-2.0 证书授权,可放心使用,
提示:以下是本篇文章正文内容,下面示例可供参考
一、更新内容
月度更新:
-
新增 DataTable扩展 ToDictionaryIf 可自定义输出结果
-
新增 JsonConverterHelper.GetDBNullConverter() 方法,DBNull 结果将自动转化为 null 输出
-
优化改进 app.UseExceptionHandler(AllException); 实现方法改为 异步函数,考虑合理性。
-
新增扩展 DbHelper.Select(Action prams) 示例:var list = dbHelper.Select(s => s.id = 1);
-
AshxException 新增接口调用参数信息,方便定位异常发生时存在的值,日志输出时默认输出, IsParameters 默认开启。
-
AshxException.ToParameters() 手动获取参数结果函数。
-
改进实体ToDictionary(), 当字段值为 Null 特殊值时,object 自动将结果转换成 null
-
Log 日志模块改进,在 vs运行模式下,日志将打印在项目目录。
-
Log 日志打印相关对象调整,日志打印模块改为异步IO写入,提高吞吐量。
-
Tool.Utils 命名空间下,新增ThreadQueue 该命名空间下面,可用于实现简易的,多线程,对应抢单模式,先后顺序,依次完成,可等待。
-
Log 类下新增 IgnoreMethodName 对象,用于屏蔽不想再日志中看见的异常方法。(目前默认会屏蔽掉 Task 对应的方法名)Tool.Utils.Log.Instance.IgnoreMethodName.Add()
-
Log 类新增 IsMoveNext 变量,默认为true,用于自动验证堆栈方法中的异常方法,返回原有名称,如需关闭请设置为 false。
-
ITableProvider 下面插入这些方法的值,存在null的时候异常。 Insert Update 已优化成,自动忽略为null的参数。
-
DbHelper 下面部分转DbParameter 的接口也存在 null 异常的情况,已优化成,自动忽略为null的参数。
-
新增 TaskOueue 异步队列任务模型,需要实例化版本。
-
优化 Log 写指定相对文件路径时,文件夹位置不在项目中。
-
解决因日志模块引发的堆栈溢出,原因是没有合理的使用异步IO。
-
改进写日志,会在文件被占用时,每隔100毫秒重试一次/10 如还是占用,将输入一个 DEBUG 日志提示。
以上是大致更新说明,详情还请执行查看api文档。
二、征求 3.5.0 版本的改进方向
将会在 7月 10 前结束。
- 考虑改进 Tool.Sockets.WebTcp 下面的相关函数,提供较全面的改进方向。
- Tool.Sockets.TcpFrame 下面相关函数改进,考虑更实用,例如增加压缩数据协议,和数据加密协议等等,包括异步改为 Task 模式 等等,但是这样可能会延期更新。
- 关于其他的希望大家留言讨论哦。
移除SDK
本次移除全部 Web SDK 模块,不会影响框架性能,反之可能因此提高性能。
(因为版本差异导致的诸多不确定因素,因此解决。)
- Microsoft.AspNetCore.Diagnostics
- Microsoft.AspNetCore.Http
- Microsoft.AspNetCore.Routing
- Microsoft.Extensions.Configuration.Json
- Microsoft.Extensions.DependencyInjection.Abstractions
取消计划
-
项目减小化,推出 Tool.Core 包, 去除所有引用独立包,增加对各种场景的适用性。
理由:因采用 .net5 自生SDK包,解决了引用包过多的问题,现已解决Web部分SDK的引用。
后续方向
-
增加SQL部分的异步调用。
-
可能考虑移除掉验证码部分的模块,达到取消掉最后一个SDK包的引用目的。(如果确定取消,源代码将会公开)
今年目标
- 从此版本开始,往后所有版本均可使用,无需更新,没有任何限制,完全遵循 Apache-2.0 授权规则。
- 希望有愿意一同创新 SDK 的开发者,我需要开发伙伴,一个人走着难免会累,希望可以寻求到一同维护,共同成长的伙伴。