You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

11 KiB

最新提交

6.3.3

  • 全局:恢复 .NET Standard 2.0 的输出,用于支持 .NET Framework 4.6.1;
  • StorageUtility:优化了 ReadFile 的内存占用;
  • Web:优化 ApiProgram 的初始化,减少并发时的问题;
  • Web:Static 控制器支持列出子项。

6.3.2

  • RuntimeUtility:调整了 Assembly 的方法名称;
  • Surface:迁移获取字形的方法到 FormsUtility,不再提供 FontInstance 类;
  • Source:调整 ColumnAttribute 和 Record 的默认字段长度从 255 到 191;
  • Web:修正无法设置 Cookie 的问题。

6.3.1

  • Source:修正了多次获取 Access 密码会报错的问题;
  • Web:对 ApiResponse 中增加 Indented,支持对单个 API 的响应强制缩进排版。

6.3.0

  • 调整变量命名方式,统一采用 Camel 风格;
  • 代码优化,删除 Internals 类,降低了栈空间的占用;
  • Class:修正判断相等时的问题;
  • ClockUtility:新增 Elapse 方法,用于评估 Action 的执行时长;
  • DateTimeUtility:已删除类,方法合并到 ClockUtility 中;
  • Json:可以序列化拥有 Table 特性的类型;
  • Json:增加了 SerializeObject 和 DeserializeObject 方法;
  • Json:增加了 ToCamel 方法,可将属性名首字母设置为小写;
  • Models:StringPairs 已实现 IToJson 接口;
  • RuntimeUtility:新辅助工具,由 ClassUtility 和 KernelUtility 合并而来;
  • RuntimeUtility:新增 InvokePublicClass,调用指定程序集中的所有公开类型;
  • Source:重写代码,去除了不常用的方法;
  • Source:修正了 MySql、SqlServer、Sqlite 的主键格式限制问题;
  • Source:重新加入 Access 类,暂不支持 ORM;
  • StorageUtility:增加方法 NewFileSystemWatcher,可添加指定路径的监视器;
  • StorageUtility:修正了 WriteFile 默认加入 BOM 的问题;
  • TextUtility:增加 IsEnglish 方法,用于判断字符串仅包含英文;
  • Web:重写 ApiInvoker,降低了耦合性,并支持 HTTP.sys 的服务器;
  • Web:GetParameter 增加参数,对值进行 Trim 处理;
  • Web:修正了获取 IP 的准确性问题,现在可将 IP 用于安全机制;
  • Web:修正了 robots.txt 的拼写错误问题;
  • Web:对基于 ASP.NET Core 的 Server 增加 WebSocket 支持;
  • Web:增加 QueryString 和 Form 方法,以兼容部分旧程序;
  • Web:新增 StaticController,支持 SSI,用于支持动静态混合站点;
  • Web:ApiOptions.Enumerate 默认值已修改为 FALSE。

6.2.0

  • Logger:重写了功能,统一日志的调用方法;
  • NetworkUtility:新增检测 TCP 端口 UDP 端口的方法;
  • StringPairs:支持检查 Key 是否存在;
  • WebAPI:优化参数和流程,提高运行效率,并增加定制选项;
  • WindowsUtility:更名为 SystemUtility,增加判断操作系统的方法。

6.1.0

  • DateTime:修正了超出范围值的问题;
  • TextUtility:新增 RenderMarkdown 方法,支持将 Markdown 文本转换为 HTML 文本;
  • TextUtility:放宽了 SafeKey 限制十六进制字符的限制,现在允许所有字母和数字;
  • Source:解析 Record 结构加入缓存,以提高性能;
  • MySql:新增 Escape 方法;
  • MySql:新增 QueryRecords 重载,支持分页查询;
  • MySql:新增 AddColumn 方法,支持增加单列;
  • MySql:新增 SafeTable 方法和 SafeColumn 方法,提供对表明和列名的检查;
  • WebAPI:支持设置 Response 的缓存过期时间(在 .NET Framework 中可能无效);
  • WebAPI:添加 Response.Respond(Json) 方法;
  • WebAPI:支持读取或设置 Cookies,且 ApiRequest 从 Cookies 中读取 Ticket;
  • WebAPI:Response.Text 现在默认在 Content-Type 中指定 UTF-8。

6.0.14

  • 修正了 Json.Parse 的 NULL 引用问题;
  • 修正了生成 MySQL 的 Insert 语句字段报错问题。

6.0.13

  • 从文本转换到 Single、Double 和 Decimal,在转换前将自动修剪;
  • 不再强制要求在启动 Kestrel 前调用 SetKestrelEntries。

6.0.12

  • 扩展方法 ToSingle、ToDouble、ToDecimal 支持输入百分号。

6.0.11

  • 扩展方法 ApiResponse.Respond 支持返回错误信息。

6.0.10

  • 修正 SafeKey 错误。

6.0.9

  • 调整了 TextUtility.SafeKey 的长度限制。

6.0.8

  • Query.SimpleColumn 不再去重,提升性能。

6.0.7

  • 修正 MySql 使用 List 时的性能问题。

6.0.6

  • 修正内网环境中 WebUtility.FromTrusted 的判断。

6.0.5

  • 对 WindowsUtility.RunConsole 增加重载,可按行获取输出,且可获取错误流;
  • 调整 FromTrusted 的规则,减少了存在反向代理时的误判。

6.0.4

  • 修正 GetClientIP 参数不生效的问题。

6.0.3

  • 修正 GetParameter 获取不到 GET 参数的问题。

6.0.2

  • 修正 GetParameter 匹配 Json 的问题。

6.0.1

  • 修正 GetParameter 匹配 Json 的问题。

6.0.0

  • 修改项目 Apewer.Library 为 Apewer;
  • 删除命名空间 Apewer.Common,子项移入 Apewer;
  • 删除命名空间 Apewer.WinForms,子项移入 Apewer.Surface;
  • 初步支持通过 Kestrel 启动 Web.ApiInvoker;
  • 修改类 ApiServer 为 ApiController;
  • 在 Surface.FormsUtility 中扩充了常用的方法;
  • DeleteFile 和 DeleteDirectory 支持使用临时目录。

5.10.0

  • 加入 FormsUtility(从原 Surface 类迁移);
  • 加入 WindowsUtility;
  • 加入 BlockUI,支持 .NET Core。

5.9.5

  • 新增 ApiClient 的上传文件功能和 GET 请求。

5.9.4

  • 新增 IEnumerable 的扩展方法 ToList、IsEmpty、NotEmpty、Contains 和 Sub;
  • 修正 ZIP 中文文件名编码问题;
  • 新增 ZIP 文件压缩解压(StorageUtility)。

5.9.3

  • 修复 UdpClient.Send 无条件等待的问题。

5.9.2

  • 新增 Apewer.Network.UdpServer 的 Address 属性。

5.9.1

  • 新增 Apewer.Web.ApiClient。

5.9.0

  • 重新支持 .NET Framework 2.0。
  • 新增 Redis 访问;
  • ApiServer 新增 AllowFunction 属性,可拒绝调用 Function;
  • TableStructure 解析无 Column 的 Record 时不再抛出异常;
  • TableStructure 修正 Column 特性时默认对 String 属性使用 NText,不再抛出异常。

5.8.0

  • 加入记录日志的功能;
  • 加入 WebAPI 转发功能;
  • 扩展了 String 的 Split 方法。

5.7.1

  • 修正 MySQL 建表时的主键问题。

5.7.0

  • 新增 StorageUtility.WriteFile 重载,支持格式化的 Json;
  • 重写 BinaryUtility.AddTextBom 方法,提升了效率;
  • 限制 Key 长度为 128,Source 创建表时默认指定 Key 字段为主键;
  • 修正 VarChar 和 NVarChar 指定长度无效的问题。

5.6.6

  • 修正扩展方法 Set 和 Set<> 布生效的问题;
  • 修正扩展方法 Get 的返回类型;
  • 增加扩展方法 TypeEquals。

5.6.5

  • 去除了无效的扩展方法 InvokeGet 和 InvokeSet;
  • 提供扩展方法 Get、Set、Get<> 和 Set<>。

5.6.4

  • 扩展方法 ForEachProperties 不再对 Object 类型提供。

5.6.3

  • 优化代码冗余。

5.6.2

  • 新增 PropertyInfo 的扩展方法。

5.6.1

  • 修正扩展类型 IsZero 和 NotZero 无法匹配类型的问题。

5.6.0

  • 调整目标框架为 .NET Framework 4.6.1、.NET Core 3.1 和 .NET Standard 2.1;
  • ApiInvoker 从 URL 路径中解析 Application 和 Function 时解析转义;
  • ObjectSet 和 TextSet 支持动态类型;
  • 修正 Json.FillObject 和 Json.FillArrray 方法报错的问题;
  • 新增排序方法;
  • 新增数字类型的扩展方法 IsZero、NotZero 和类型转换。

5.5.3

  • 新增 Json.ToLower 扩展方法;
  • 新增 Object.Clone 扩展方法,替代原 Record.Clone 扩展方法;
  • String.Append 和 StringBuilder.Append 扩展方法不再需要指定类型,通过 TextUtility.Join 合并参数。

5.5.2

  • Json.Parse 方法将检测是否实现 IToJson 接口,实现接口的类型,使用 ToJson 方法解析。

5.5.1

  • 更新了 API 选项默认值;
  • 修正 Record.Clone 扩展方法;
  • 修改了 Request.GetParameter 的返回值。

5.5.0

  • 修正了会导致 CPU 负载异常的类型;
  • 移动了 Extension,大部分扩展方法不再需要引用命名空间;
  • 去除了 .NET Framework 4.0 目标框架。

5.4.0

  • MySQL 的 Execute 方法支持参数;
  • 新增 Record 对 Independent 特性的支持。

5.3.3

  • 修正 Cron 不再启动的问题。

5.3.2

  • 修正检测 Cron 类型为 0 的问题。

5.3.1

  • 对 Cron 的 Write 加入日志。

5.3.0

  • 加入 Apewer.Web.Cron;
  • 加入扩展方法 Apewer.Source.Record.Clone()。

5.2.5

  • 开放 IsInherits 方法。

5.2.4

  • 加入 DateTime.Origin 静态属性。

5.2.3

  • 修正 Record 从 Apewer.Library 中加载类型失败的问题。

5.2.2

  • 修正 ApiInvoker 从 Apewer.Library 中加载类型失败的问题。

5.2.1

  • 修正 ApiInvoker 从 Apewer.Library 中加载类型失败的问题。

5.2.0

  • 加入 MySQL 客户端,支持 .NET Framework 访问 MySQL 数据库。

5.1.5

  • 修正了 TableStructure.ParseModel 解析过程中的下划线错误。

5.1.4

  • 修正了 TableStructure.ParseModel 解析指定列名的错误。

5.1.3

  • 限制了 Json.Parse 对 Assembly 的解析递归层数。

5.1.2

  • 限制了 Json.Parse 对 Type 的解析递归层数。

5.1.1

  • 修正 Record.EnumerateTableTypes 当前类的问题;
  • 加入 NotEmpty 扩展方法。

5.1.0

  • ApiRequest 加入 Session 和 Page 属性,用于记录日志。

5.0.7

  • ApiResponse 加入 Redirect 和 Stop 扩展方法;
  • ApiInvoker 支持调用独立 ApiServer,不强制要求指定 Function 属性。

5.0.6

  • 优化列举 Applications 的性能;
  • 新增 Record.EnumerateTableTypes 方法,用于创建表。

5.0.5

  • 新增 IndependentAttribute;
  • 对 Json.Parse 方法、Json.FillObject 方法和 Json.FillArray 加入 force 参数;
  • ApiRequest.Url 类型修改为 System.Uri 对象;
  • ApiInvoke 仅在 Application 或 Function 为空时显示列表;
  • ApiInvoke 列举 Applications 时加入 Module 属性;
  • ApiInvoke 支持 ApiServer 的独立特性,设置 ApiServer 属性后调用 AfterInitialized。

5.0.4

  • 修正 GetSegmentalUrl 带有斜杠的问题。

5.0.3

  • 修正 CreateTable 方法生成表时的公共列排序问题;

5.0.2

  • Json.Parse 方法不再无限解析 Assembly 类型;
  • 修改了 HttpClient 的方法名称,减少重载方法;
  • 对 ApiInvoker 输出的 Exception 加入类型;
  • 修正 DateTimeUtility 中关于时间戳的说明;
  • 增加 Extensions.GetFirst 扩展方法。

5.0.1

  • Json.Parse 方法解析 IList 或 IDictionary 时,不再要求 SerializableAttribute 特性;
  • SqlServer 类中的 QueryAllRecords 更名为 QueryRecords。

5.0.0

  • 加入 Microsoft.NET.Sdk,项目同时支持 .NET Framework 4.0、.NET Framework 4.6.1 和 .NET Standard 2.0;
  • Apewer.Library.Windows 中无需外部引用的类已经移动到 Apewer.Library;
  • 删除了命名空间 Apewer.Utilities,原类已经移动到 Apewer;
  • 删除了 Apewer.Web.Invoker,更换为 Apewer.Web.ApiInvoker。

更早版本 ...