文章目录
- Tool.Net 4.0.0 版本更新了
- 一、更新内容
- 后续方向
Tool.Net 4.0.0 版本更新了
他是一个正式版本,可以用于线上运营,使用 Apache-2.0 证书授权,可放心使用,
提示:以下是本篇文章正文内容,下面示例可供参考
一、更新内容
- Sql 相关日志完善,在执行sql异常后,也会增加操作日志,极大解决因执行错误,却不知道执行了啥,这类问题。
- AppSettings 获取配置文件范围优化,会优先从环境路径匹配。(好处开发模式下,在vs修改配置文件将生效)
- 主要是优化 TcpFrame 下的通讯效率,本次优化,解决了,在多线程环境下,容易出现的无限超时问题,优化。
- TcpFrame 代码执行效率 优化,事件处理优化,数据包处理优化,池合理管理优化,分包处理优化等。
- TcpHelper 相关实际改动,主要是围绕这提升执行效率,增加IsThreadPool 字段 控制 数据包 是否采用线程池处理,增强可控性。
- TcpHelper 优化 数据包 解析效率,解析流程 算法简化等。
- PagerParameters 参数拼装 优化简化步骤。
- TcpFrame 下多包 来回 发送 优化,但效率不是特别高,目前采用的是 单线程 操作。
- Http post 请求时表单参数 实体 默认可构造,Val.Files 允许获取所有上传资源。
- 优化:DbHelper.SubPath 允许自定义,日志存放子路径。
- 优化:ApiPacket对象传值,默认进行传输转义。
- 优化:新增EntityBuilder对象接管原多个模块实现,提升多个模块执行效率,(仅有关对象反射相关)提升50~70%。包含,WebApi,Sql,对象转换字典等等。
- 其他细节优化等。
以上为预览版更新内容,与下面更新内容已合并。
- 除以上预览版全部内容更新外。
- DataSet.IsEmpty() 优化,改变为只要包含一个不为空的DataTable,就为false。
- DataTable/DataRow 转实体对象,优化提升效率,取消原反射模式。
- DiySession新增SetAvailable接口,可以设置可用性,可用性将提供,自带可用性用户端标志,可简化验证流程。
- DictionaryExtension 新增GetDictionary和SetDictionary函数详情请查看注释
- DbDataReader 新增 GetReader 扩展用于 直接获取 对应集合字典,提高效率。
- 其他优化。
- 存在的风险预警,TcpFrame下多包传输模式,存在GC频繁,导致崩溃问题,崩溃来自GC内核,目前无法修复,触发条件,频繁多包传输导致GC频繁。(下个版本优先,优化此类问题)
后续方向
- 增加SQL部分的异步调用。
- 下一步更新可能优先考虑 完善 SQL 部分 功能 以及支持异步 调用等。
- Sockets 相关部分进行优化 考虑使用 资源池 ArrayPool 以此减少 对内存 频繁操作的性能消耗,以及其余可优化问题。
- 希望有贡献者参与,一起完善和增加更多功能。
- 目前 Sockets 部分已经将收取消息实现了,内存管理,需要优化的方向在于,发送消息部分,后续敬请期待。