Tool.Net-3.3.0

15 篇文章 0 订阅
13 篇文章 0 订阅

在这里插入图片描述


Tool.Net 3.3.0 版本更新了

他是一个正式版本,可以用于线上运营,使用 Apache-2.0 证书授权,可放心使用,


提示:以下是本篇文章正文内容,下面示例可供参考

一、更新内容

  1. 新增 UseIgnoreUrl 拦截器 用拦截部分请求

  2. 新增 ApiOut.PathViewAsync(“文件夹路径”) 文件夹路径对象

  3. 新增 Api 输出 Json 方法允许携带序列化对象

  4. 新增 AshxRouteData.GetNewJsonOptions() 方法获取全新的 JsonSerializerOptions 配置对象

  5. 新增 AddAshx 下面配置 JsonOptions 变量 允许注册Api全局 JsonSerializerOptions 配置对象

  6. 优化 Api底层,优化性能

  7. 优化 Api 异常反馈,解决异步异常下的错误点不明确。

  8. 优化全局Web异常拦截器 app.UseExceptionHandler() 异步改为异步实现。

  9. 新增 JsonConverterHelper 对象,目前下面只包含时间类型对象的,如果有需要的可以向作者提交建议

  10. 优化 Json 字符串转 键值对或强类型变量的值是不确定的问题,现在已经改的基本满意了

  11. 优化 Sql 请求统计 类型改为 ulong 存储更大。

  12. 新增 VerificCodeHelper.GetRandomCodeV2

  13. 移除 VerificationCodeHelper 类 改为 VerificCodeHelper 类

  14. 验证码类改进优化较多,不详细说明,多线程下无问题。

二、新增函数使用步骤

代码如下(示例):


			//允许注册Api全局 JsonSerializerOptions 配置对象
            services.AddAshx(o =>
            {
                o.IsAsync = true;
                o.JsonOptions = new System.Text.Json.JsonSerializerOptions(System.Text.Json.JsonSerializerDefaults.Web)
                {
                    //IgnoreReadOnlyFields = true,
                    Encoder = System.Text.Encodings.Web.JavaScriptEncoder.Create(System.Text.Unicode.UnicodeRanges.All),
                 };

                //o.JsonOptions.Converters.Add(JsonConverterHelper.GetDateConverter());
            });//注册api。
//屏蔽访问的地址
 app.UseIgnoreUrl("屏蔽访问的地址"); //示例: a/a/a 
public async Task<IApiOut> Index() => await ApiOut.PathViewAsync("Cs");
//文件夹路径:\wwwroot\Views\类名\(Cs)\方法名.html
//将json字符串序列化成对象
dynamic obj = "[{\"aa\":{\"a1\":\"aa11\",\"a2\":\"https:\\/\\/www.abc.com\\/asfasd8asfad\"}},{\"aa\":{\"a1\":\"aa12\",\"a2\":\"https:\\/\\/www.abc.com\\/asfasd8asfad\"}}]".JsonDynamic();

// 键值对版本
var obj = "{\"aa\":{\"a1\":\"aa11\",\"a2\":\"https:\\/\\/www.abc.com\\/asfasd8asfad\"}}".Json();

//验证码
string code = VerificCodeHelper.GetRandomCodeV2(out int val);//val 结果
var codeImage = VerificCodeHelper.GetVCode(code);
var base64 = "data:image/jpeg;base64," + codeImage.ToBase64();

移除SDK

本次移除全部 Web SDK 模块,不会影响框架性能,反之可能因此提高性能。

(因为版本差异导致的诸多不确定因素,因此解决。)
  1. Microsoft.AspNetCore.Diagnostics
  2. Microsoft.AspNetCore.Http
  3. Microsoft.AspNetCore.Routing
  4. Microsoft.Extensions.Configuration.Json
  5. Microsoft.Extensions.DependencyInjection.Abstractions

取消计划

  1. 项目减小化,推出 Tool.Core 包, 去除所有引用独立包,增加对各种场景的适用性。

     理由:因采用 .net5 自生SDK包,解决了引用包过多的问题,现已解决Web部分SDK的引用。
    

后续方向

  1. 增加SQL部分的异步调用(更多的)。

  2. 完善api发生错误时,AshxException 对象中将包含请求当前接口所需的全部参数。

  3. JsonConverter 增加 DBNull 类型的值类型改为Null 这是必须的,项目中很需要。

  4. 下一个版本增加 appsettings 文件修改事件 用于特定操作。支持动态修改数据库链接配置。

  5. TcpFrame 将继续更新,下一个版本大概是允许输出字典对象,外加字节流,字典值精准限制,目前已在实验阶段,尽可能的满足更多需求,以及优化底层,允许异步调用等等,提供异步模块。

今年目标

  1. 从此版本开始,往后所有版本均可使用,无需更新,没有任何限制,完全遵循 Apache-2.0 授权规则。
  2. 希望有愿意一同创新 SDK 的开发者,我需要开发伙伴,一个人走着难免会累,希望可以寻求到一同维护,共同成长的伙伴。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值