新特性
JWT
授权出现代码异常 4.9.3 ⏱️2024.05.10 52d3c2c edc51f4
SHA1
加密和比较功能的静态类和字符串拓展支持 4.9.2.41 ⏱️2024.05.08 @superbisu !879:增加SHA1 f592757
DefaultExpandAllJobs
4.9.2.40 ⏱️2024.05.07 77c1e6f
DisplayEmptyTriggerJobs
和是否显示页头 DisplayHead
4.9.2.39 ⏱️2024.05.07 f64d45f
Clay
转换为可枚举对象 AsEnumerable()
方法 4.9.2.37 ⏱️2024.05.06 b1c8fa4
HttpResponseModel<T>
类型,包含 HttpResponseMessage
、返回值等属性 4.9.2.34 ⏱️2024.04.30 42ccdaa
Id
集合做批量删除操作 4.9.2.33 ⏱️2024.04.30 d01a6e7
WebAPI
支持配置基元类型和字符串类型默认绑定信息 4.9.2.32 ⏱️2024.04.28 d7e7a02
ContainsProperty(key)
方法 4.9.2.32 ⏱️2024.04.28 71f97f0
MessageProcess
配置,可对日志消息进行额外处理,如敏感内容脱敏 4.9.2.32 ⏱️2024.04.28 0d9ff5e
RunOnStart
的处理逻辑 options.RunOnStartProvider
4.9.2.29 ⏱️2024.04.23 c9e0e3e
EFCore
批量更新支持设置 includePropertyNames
和 excludePropertyNames
参数 4.9.2.28 ⏱️2024.04.23 c9926cc
[BaseAddress]
特性快速设置 HttpClient
客户端 BaseAddress
4.9.2.25 ⏱️2024.04.19 ea88c95
JsonSerializerOptions
序列化配置 4.9.2.24 ⏱️2024.04.17 cc6dd13
WebAPI
支持贴 [Route]
特性动态生成控制器 4.9.2.19 ⏱️2024.04.16 #I9H1QH:默认的ApiController不继承于ControllerBase,无法出现在swagger的分组中
AES
加解密支持向量 IV
、模式 Mode
和填充 Padding
配置 4.9.2.18 ⏱️2024.04.15 d549bba
ISchedulerFactory
启停作业 StartJob
和 PauseJob
方法 4.9.2.16 ⏱️2024.04.11 89061ef
AppSettings
拓展程序集 ExternalAssemblies
配置支持目录扫描 4.9.2.14 ⏱️2024.04.10 e68f0a6
.GroupSet
方法 4.9.2.9 ⏱️2024.04.09 9e08278
WebAPI
方法添加 [DisplayName]
特性生成 Swagger
文档注释 4.9.2.3 ⏱️2024.03.30 0f24c66
突破性变化
IUnifyResultProvider
接口,新增 OnAuthorizeException
方法 4.9.3 ⏱️2024.05.10 52d3c2c edc51f4
AppAuthorizeHandler
接口的 HandleAsync
方法签名,新增 DefaultHttpContext
参数 4.9.3 ⏱️2024.05.10 52d3c2c edc51f4
DES
加解密相关类和方法命名: DESCEncryption
->DESEncryption
,ToDESCEncrypt
->ToDESEncrypt
,ToDESCDecrypt
->ToDESDecrypt
4.9.2.41 ⏱️2024.05.08 a46f129
RunId
类型,由 Guid
改为 string
类型 4.9.2.38 ⏱️2024.05.07 5aa20b5
Swagger
文档注释逻辑,将 ///
注释方式优先级调整至最高,可覆盖 [DisplayName]
特性方式 4.9.2.17 ⏱️2024.04.14 ba5249c
TryRunJob
方法签名,追加 out IScheduler scheduler
参数 4.9.2.16 ⏱️2024.04.11 89061ef
问题修复
bug
4.9.2.40 ⏱️2024.05.07 77c1e6f
DynamicObject
派生类类型设置为模板数据 4.9.2.36 ⏱️2024.05.05 07ee172
options.MessageProcess
无效问题 4.9.2.36 ⏱️2024.05.05 b5cb0fe
HttpResponseModel<T>
不支持重复读 Response.Content
流问题 4.9.2.35 ⏱️2024.04.30 7ca0650
Monitor
捕获异常时因其 StackTrace
堆栈信息可能为 null
引发的空异常问题 4.9.2.31 ⏱️2024.04.25 @写意 !875:【轻量级 PR】:修复生成异常信息日志模板可能引发 Object reference not set to an instance of an object 问题 7621e75
RunOnStart
和 StartTime
考虑场景 4.9.2.30 ⏱️2024.04.23 2595379 7ac6a54
The stream writer is currently in use by a previous write operation.
异常 4.9.2.27 ⏱️2024.04.22 3ca012b
WebAPI
不支持 [BindNever]
特性忽略路由和 Action
参数设置 4.9.2.25 ⏱️2024.04.19 21599e6
Monitor
不支持粘土对象 Clay/dynamic
类型格式化输出 4.9.2.24 ⏱️2024.04.17 d578cfb
XElement
属性包含 type="null"
节点出现异常问题 4.9.2.21 ⏱️2024.04.16 9d5870f
WebAPI
错误将 CancellationToken
类型当作路由参数 4.9.2.19 ⏱️2024.04.16 #I9H14X:动态api中的action中如果存在canceltoken 参数,应该从swagger中忽略掉
GroupSet
功能影响到了原有的 SetGroupName
逻辑 4.9.2.15 ⏱️2024.04.11 #I9FOU0:Schedule Dashboard GroupName无法显示 9e08278
PostgreSQL
数据库 SQL
语句的字段名缺少 "
双引号 4.9.2.13 ⏱️2024.04.10 #I9FD9Y:定时任务持续化中, ConvertToSQL 生成异常问题
JobBuilder
构建委托作业永远无法执行问题 4.9.2.10 ⏱️2024.04.10 Sundial#I7KU7K
401/403
等状态码中间件时进行了错误拦截 4.9.2.8 ⏱️2024.04.08 b135e8c
JWT Token
时如果 Bearer
后面跟多个空格导致验证失败问题 4.9.2.8 ⏱️2024.04.08 @薛金峰 !874:【轻量级 PR】:update framework/Furion.Extras.Authentication.JwtBearer/JWTEncryption.cs.
SQL
查询结果转模型不支持 DateOnly
和 TimeOnly
属性类型 4.9.2.7 ⏱️2024.04.04 31f9d23
Object
类型设置给 Array
类型出现递归死循环问题 4.9.2.5 ⏱️2024.04.03 1126c74
.NET8
之后修改 System.Text.Json
默认序列化选项引发 This JsonSerializerOptions instance is read-only or has already been used in serialization or deserialization.
异常问题 4.9.2.2 ⏱️2024.03.29 9f44653
IHttpDispatchProxy
模式配置重试策略无效 4.9.2.1 ⏱️2024.03.29 #I9CK7X:IHttpDispatchProxy无法重试策略
其他更改
文档
FS
静态类文档、序列化文档、模块化文档、数据加解密文档、动态 WebAPI
文档、IPC
通信模块文档、日志文档、安全授权文档贡献者
新特性
DefaultExpandAllJobs
4.9.2.40 ⏱️2024.05.07 77c1e6f
DisplayEmptyTriggerJobs
和是否显示页头 DisplayHead
4.9.2.39 ⏱️2024.05.07 f64d45f
Clay
转换为可枚举对象 AsEnumerable()
方法 4.9.2.37 ⏱️2024.05.06 b1c8fa4
HttpResponseModel<T>
类型,包含 HttpResponseMessage
、返回值等属性 4.9.2.34 ⏱️2024.04.30 42ccdaa
Id
集合做批量删除操作 4.9.2.33 ⏱️2024.04.30 d01a6e7
WebAPI
支持配置基元类型和字符串类型默认绑定信息 4.9.2.32 ⏱️2024.04.28 d7e7a02
ContainsProperty(key)
方法 4.9.2.32 ⏱️2024.04.28 71f97f0
MessageProcess
配置,可对日志消息进行额外处理,如敏感内容脱敏 4.9.2.32 ⏱️2024.04.28 0d9ff5e
RunOnStart
的处理逻辑 options.RunOnStartProvider
4.9.2.29 ⏱️2024.04.23 c9e0e3e
EFCore
批量更新支持设置 includePropertyNames
和 excludePropertyNames
参数 4.9.2.28 ⏱️2024.04.23 c9926cc
[BaseAddress]
特性快速设置 HttpClient
客户端 BaseAddress
4.9.2.25 ⏱️2024.04.19 ea88c95
JsonSerializerOptions
序列化配置 4.9.2.24 ⏱️2024.04.17 cc6dd13
WebAPI
支持贴 [Route]
特性动态生成控制器 4.9.2.19 ⏱️2024.04.16 #I9H1QH:默认的ApiController不继承于ControllerBase,无法出现在swagger的分组中
AES
加解密支持向量 IV
、模式 Mode
和填充 Padding
配置 4.9.2.18 ⏱️2024.04.15 d549bba
ISchedulerFactory
启停作业 StartJob
和 PauseJob
方法 4.9.2.16 ⏱️2024.04.11 89061ef
AppSettings
拓展程序集 ExternalAssemblies
配置支持目录扫描 4.9.2.14 ⏱️2024.04.10 e68f0a6
.GroupSet
方法 4.9.2.9 ⏱️2024.04.09 9e08278
WebAPI
方法添加 [DisplayName]
特性生成 Swagger
文档注释 4.9.2.3 ⏱️2024.03.30 0f24c66
突破性变化
问题修复
bug
4.9.2.40 ⏱️2024.05.07 77c1e6f
DynamicObject
派生类类型设置为模板数据 4.9.2.36 ⏱️2024.05.05 07ee172
options.MessageProcess
无效问题 4.9.2.36 ⏱️2024.05.05 b5cb0fe
HttpResponseModel<T>
不支持重复读 Response.Content
流问题 4.9.2.35 ⏱️2024.04.30 7ca0650
Monitor
捕获异常时因其 StackTrace
堆栈信息可能为 null
引发的空异常问题 4.9.2.31 ⏱️2024.04.25 @写意 !875:【轻量级 PR】:修复生成异常信息日志模板可能引发 Object reference not set to an instance of an object 问题 7621e75
RunOnStart
和 StartTime
考虑场景 4.9.2.30 ⏱️2024.04.23 2595379 7ac6a54
The stream writer is currently in use by a previous write operation.
异常 4.9.2.27 ⏱️2024.04.22 3ca012b
WebAPI
不支持 [BindNever]
特性忽略路由和 Action
参数设置 4.9.2.25 ⏱️2024.04.19 21599e6
Monitor
不支持粘土对象 Clay/dynamic
类型格式化输出 4.9.2.24 ⏱️2024.04.17 d578cfb
XElement
属性包含 type="null"
节点出现异常问题 4.9.2.21 ⏱️2024.04.16 9d5870f
WebAPI
错误将 CancellationToken
类型当作路由参数 4.9.2.19 ⏱️2024.04.16 #I9H14X:动态api中的action中如果存在canceltoken 参数,应该从swagger中忽略掉
GroupSet
功能影响到了原有的 SetGroupName
逻辑 4.9.2.15 ⏱️2024.04.11 #I9FOU0:Schedule Dashboard GroupName无法显示 9e08278
PostgreSQL
数据库 SQL
语句的字段名缺少 "
双引号 4.9.2.13 ⏱️2024.04.10 #I9FD9Y:定时任务持续化中, ConvertToSQL 生成异常问题
JobBuilder
构建委托作业永远无法执行问题 4.9.2.10 ⏱️2024.04.10 Sundial#I7KU7K
401/403
等状态码中间件时进行了错误拦截 4.9.2.8 ⏱️2024.04.08 b135e8c
JWT Token
时如果 Bearer
后面跟多个空格导致验证失败问题 4.9.2.8 ⏱️2024.04.08 @薛金峰 !874:【轻量级 PR】:update framework/Furion.Extras.Authentication.JwtBearer/JWTEncryption.cs.
SQL
查询结果转模型不支持 DateOnly
和 TimeOnly
属性类型 4.9.2.7 ⏱️2024.04.04 31f9d23
Object
类型设置给 Array
类型出现递归死循环问题 4.9.2.5 ⏱️2024.04.03 1126c74
.NET8
之后修改 System.Text.Json
默认序列化选项引发 This JsonSerializerOptions instance is read-only or has already been used in serialization or deserialization.
异常问题 4.9.2.2 ⏱️2024.03.29 9f44653
IHttpDispatchProxy
模式配置重试策略无效 4.9.2.1 ⏱️2024.03.29 #I9CK7X:IHttpDispatchProxy无法重试策略
其他更改
文档
FS
静态类文档、序列化文档、模块化文档、规范化文档、数据加解密文档、动态 WebAPI
文档、IPC
通信模块文档贡献者
新特性
WebAPI
支持配置基元类型和字符串类型默认绑定信息 4.9.2.32 ⏱️2024.04.28 d7e7a02
ContainsProperty(key)
方法 4.9.2.32 ⏱️2024.04.28 71f97f0
MessageProcess
配置,可对日志消息进行额外处理,如敏感内容脱敏 4.9.2.32 ⏱️2024.04.28 0d9ff5e
RunOnStart
的处理逻辑 options.RunOnStartProvider
4.9.2.29 ⏱️2024.04.23 c9e0e3e
EFCore
批量更新支持设置 includePropertyNames
和 excludePropertyNames
参数 4.9.2.28 ⏱️2024.04.23 c9926cc
[BaseAddress]
特性快速设置 HttpClient
客户端 BaseAddress
4.9.2.25 ⏱️2024.04.19 ea88c95
JsonSerializerOptions
序列化配置 4.9.2.24 ⏱️2024.04.17 cc6dd13
WebAPI
支持贴 [Route]
特性动态生成控制器 4.9.2.19 ⏱️2024.04.16 #I9H1QH:默认的ApiController不继承于ControllerBase,无法出现在swagger的分组中
AES
加解密支持向量 IV
、模式 Mode
和填充 Padding
配置 4.9.2.18 ⏱️2024.04.15 d549bba
ISchedulerFactory
启停作业 StartJob
和 PauseJob
方法 4.9.2.16 ⏱️2024.04.11 89061ef
AppSettings
拓展程序集 ExternalAssemblies
配置支持目录扫描 4.9.2.14 ⏱️2024.04.10 e68f0a6
.GroupSet
方法 4.9.2.9 ⏱️2024.04.09 9e08278
WebAPI
方法添加 [DisplayName]
特性生成 Swagger
文档注释 4.9.2.3 ⏱️2024.03.30 0f24c66
突破性变化
问题修复
Monitor
捕获异常时因其 StackTrace
堆栈信息可能为 null
引发的空异常问题 4.9.2.31 ⏱️2024.04.25 @写意 !875:【轻量级 PR】:修复生成异常信息日志模板可能引发 Object reference not set to an instance of an object 问题 7621e75
RunOnStart
和 StartTime
考虑场景 4.9.2.30 ⏱️2024.04.23 2595379 7ac6a54
The stream writer is currently in use by a previous write operation.
异常 4.9.2.27 ⏱️2024.04.22 3ca012b
WebAPI
不支持 [BindNever]
特性忽略路由和 Action
参数设置 4.9.2.25 ⏱️2024.04.19 21599e6
Monitor
不支持粘土对象 Clay/dynamic
类型格式化输出 4.9.2.24 ⏱️2024.04.17 d578cfb
XElement
属性包含 type="null"
节点出现异常问题 4.9.2.21 ⏱️2024.04.16 9d5870f
WebAPI
错误将 CancellationToken
类型当作路由参数 4.9.2.19 ⏱️2024.04.16 #I9H14X:动态api中的action中如果存在canceltoken 参数,应该从swagger中忽略掉
GroupSet
功能影响到了原有的 SetGroupName
逻辑 4.9.2.15 ⏱️2024.04.11 #I9FOU0:Schedule Dashboard GroupName无法显示 9e08278
PostgreSQL
数据库 SQL
语句的字段名缺少 "
双引号 4.9.2.13 ⏱️2024.04.10 #I9FD9Y:定时任务持续化中, ConvertToSQL 生成异常问题
JobBuilder
构建委托作业永远无法执行问题 4.9.2.10 ⏱️2024.04.10 Sundial#I7KU7K
401/403
等状态码中间件时进行了错误拦截 4.9.2.8 ⏱️2024.04.08 b135e8c
JWT Token
时如果 Bearer
后面跟多个空格导致验证失败问题 4.9.2.8 ⏱️2024.04.08 @薛金峰 !874:【轻量级 PR】:update framework/Furion.Extras.Authentication.JwtBearer/JWTEncryption.cs.
SQL
查询结果转模型不支持 DateOnly
和 TimeOnly
属性类型 4.9.2.7 ⏱️2024.04.04 31f9d23
Object
类型设置给 Array
类型出现递归死循环问题 4.9.2.5 ⏱️2024.04.03 1126c74
.NET8
之后修改 System.Text.Json
默认序列化选项引发 This JsonSerializerOptions instance is read-only or has already been used in serialization or deserialization.
异常问题 4.9.2.2 ⏱️2024.03.29 9f44653
IHttpDispatchProxy
模式配置重试策略无效 4.9.2.1 ⏱️2024.03.29 #I9CK7X:IHttpDispatchProxy无法重试策略
其他更改
System.Text.Json
序列化提供器选项为不区分大小写匹配 4.9.2.1 ⏱️2024.03.29 b58e7be
文档
FS
静态类文档、序列化文档、模块化文档、规范化文档、数据加解密文档、动态 WebAPI
文档贡献者
新特性
[BaseAddress]
特性快速设置 HttpClient
客户端 BaseAddress
4.9.2.25 ⏱️2024.04.19 ea88c95
JsonSerializerOptions
序列化配置 4.9.2.24 ⏱️2024.04.17 cc6dd13
WebAPI
支持贴 [Route]
特性动态生成控制器 4.9.2.19 ⏱️2024.04.16 #I9H1QH:默认的ApiController不继承于ControllerBase,无法出现在swagger的分组中
AES
加解密支持向量 IV
、模式 Mode
和填充 Padding
配置 4.9.2.18 ⏱️2024.04.15 d549bba
ISchedulerFactory
启停作业 StartJob
和 PauseJob
方法 4.9.2.16 ⏱️2024.04.11 89061ef
AppSettings
拓展程序集 ExternalAssemblies
配置支持目录扫描 4.9.2.14 ⏱️2024.04.10 e68f0a6
.GroupSet
方法 4.9.2.9 ⏱️2024.04.09 9e08278
WebAPI
方法添加 [DisplayName]
特性生成 Swagger
文档注释 4.9.2.3 ⏱️2024.03.30 0f24c66
突破性变化
问题修复
WebAPI
不支持 [BindNever]
特性忽略路由和 Action
参数设置 4.9.2.25 ⏱️2024.04.19 21599e6
Monitor
不支持粘土对象 Clay/dynamic
类型格式化输出 4.9.2.24 ⏱️2024.04.17 d578cfb
XElement
属性包含 type="null"
节点出现异常问题 4.9.2.21 ⏱️2024.04.16 9d5870f
WebAPI
错误将 CancellationToken
类型当作路由参数 4.9.2.19 ⏱️2024.04.16 #I9H14X:动态api中的action中如果存在canceltoken 参数,应该从swagger中忽略掉
GroupSet
功能影响到了原有的 SetGroupName
逻辑 4.9.2.15 ⏱️2024.04.11 #I9FOU0:Schedule Dashboard GroupName无法显示 9e08278
PostgreSQL
数据库 SQL
语句的字段名缺少 "
双引号 4.9.2.13 ⏱️2024.04.10 #I9FD9Y:定时任务持续化中, ConvertToSQL 生成异常问题
JobBuilder
构建委托作业永远无法执行问题 4.9.2.10 ⏱️2024.04.10 Sundial#I7KU7K
401/403
等状态码中间件时进行了错误拦截 4.9.2.8 ⏱️2024.04.08 b135e8c
JWT Token
时如果 Bearer
后面跟多个空格导致验证失败问题 4.9.2.8 ⏱️2024.04.08 @薛金峰 !874:【轻量级 PR】:update framework/Furion.Extras.Authentication.JwtBearer/JWTEncryption.cs.
SQL
查询结果转模型不支持 DateOnly
和 TimeOnly
属性类型 4.9.2.7 ⏱️2024.04.04 31f9d23
Object
类型设置给 Array
类型出现递归死循环问题 4.9.2.5 ⏱️2024.04.03 1126c74
.NET8
之后修改 System.Text.Json
默认序列化选项引发 This JsonSerializerOptions instance is read-only or has already been used in serialization or deserialization.
异常问题 4.9.2.2 ⏱️2024.03.29 9f44653
IHttpDispatchProxy
模式配置重试策略无效 4.9.2.1 ⏱️2024.03.29 #I9CK7X:IHttpDispatchProxy无法重试策略
其他更改
System.Text.Json
序列化提供器选项为不区分大小写匹配 4.9.2.1 ⏱️2024.03.29 b58e7be
文档
FS
静态类文档、序列化文档、模块化文档、规范化文档、数据加解密文档、动态 WebAPI
文档贡献者
新特性
AES
加解密支持向量 IV
、模式 Mode
和填充 Padding
配置 4.9.2.18 ⏱️2024.04.15 d549bba
ISchedulerFactory
启停作业 StartJob
和 PauseJob
方法 4.9.2.16 ⏱️2024.04.11 89061ef
AppSettings
拓展程序集 ExternalAssemblies
配置支持目录扫描 4.9.2.14 ⏱️2024.04.10 e68f0a6
.GroupSet
方法 4.9.2.9 ⏱️2024.04.09 9e08278
WebAPI
方法添加 [DisplayName]
特性生成 Swagger
文档注释 4.9.2.3 ⏱️2024.03.30 0f24c66
突破性变化
问题修复
GroupSet
功能影响到了原有的 SetGroupName
逻辑 4.9.2.15 ⏱️2024.04.11 #I9FOU0:Schedule Dashboard GroupName无法显示 9e08278
PostgreSQL
数据库 SQL
语句的字段名缺少 "
双引号 4.9.2.13 ⏱️2024.04.10 #I9FD9Y:定时任务持续化中, ConvertToSQL 生成异常问题
JobBuilder
构建委托作业永远无法执行问题 4.9.2.10 ⏱️2024.04.10 Sundial#I7KU7K
401/403
等状态码中间件时进行了错误拦截 4.9.2.8 ⏱️2024.04.08 b135e8c
JWT Token
时如果 Bearer
后面跟多个空格导致验证失败问题 4.9.2.8 ⏱️2024.04.08 @薛金峰 !874:【轻量级 PR】:update framework/Furion.Extras.Authentication.JwtBearer/JWTEncryption.cs.
SQL
查询结果转模型不支持 DateOnly
和 TimeOnly
属性类型 4.9.2.7 ⏱️2024.04.04 31f9d23
Object
类型设置给 Array
类型出现递归死循环问题 4.9.2.5 ⏱️2024.04.03 1126c74
.NET8
之后修改 System.Text.Json
默认序列化选项引发 This JsonSerializerOptions instance is read-only or has already been used in serialization or deserialization.
异常问题 4.9.2.2 ⏱️2024.03.29 9f44653
IHttpDispatchProxy
模式配置重试策略无效 4.9.2.1 ⏱️2024.03.29 #I9CK7X:IHttpDispatchProxy无法重试策略
其他更改
System.Text.Json
序列化提供器选项为不区分大小写匹配 4.9.2.1 ⏱️2024.03.29 b58e7be
文档
FS
静态类文档、序列化文档、模块化文档、规范化文档、数据加解密文档贡献者
新特性
AppSettings
拓展程序集 ExternalAssemblies
配置支持目录扫描 4.9.2.14 ⏱️2024.04.10 e68f0a6
.GroupSet
方法 4.9.2.9 ⏱️2024.04.09 9e08278
WebAPI
方法添加 [DisplayName]
特性生成 Swagger
文档注释 4.9.2.3 ⏱️2024.03.30 0f24c66
问题修复
PostgreSQL
数据库 SQL
语句的字段名缺少 "
双引号 4.9.2.13 ⏱️2024.04.10 #I9FD9Y:定时任务持续化中, ConvertToSQL 生成异常问题
JobBuilder
构建委托作业永远无法执行问题 4.9.2.10 ⏱️2024.04.10 Sundial#I7KU7K
401/403
等状态码中间件时进行了错误拦截 4.9.2.8 ⏱️2024.04.08 b135e8c
JWT Token
时如果 Bearer
后面跟多个空格导致验证失败问题 4.9.2.8 ⏱️2024.04.08 @薛金峰 !874:【轻量级 PR】:update framework/Furion.Extras.Authentication.JwtBearer/JWTEncryption.cs.
SQL
查询结果转模型不支持 DateOnly
和 TimeOnly
属性类型 4.9.2.7 ⏱️2024.04.04 31f9d23
Object
类型设置给 Array
类型出现递归死循环问题 4.9.2.5 ⏱️2024.04.03 1126c74
.NET8
之后修改 System.Text.Json
默认序列化选项引发 This JsonSerializerOptions instance is read-only or has already been used in serialization or deserialization.
异常问题 4.9.2.2 ⏱️2024.03.29 9f44653
IHttpDispatchProxy
模式配置重试策略无效 4.9.2.1 ⏱️2024.03.29 #I9CK7X:IHttpDispatchProxy无法重试策略
其他更改
System.Text.Json
序列化提供器选项为不区分大小写匹配 4.9.2.1 ⏱️2024.03.29 b58e7be
文档
FS
静态类文档、序列化文档、模块化文档贡献者
新特性
问题修复
.NET8
之后修改 System.Text.Json
默认序列化选项引发 This JsonSerializerOptions instance is read-only or has already been used in serialization or deserialization.
异常问题 4.9.2.2 ⏱️2024.03.29 9f44653
IHttpDispatchProxy
模式配置重试策略无效 4.9.2.1 ⏱️2024.03.29 #I9CK7X:IHttpDispatchProxy无法重试策略
其他更改
System.Text.Json
序列化提供器选项为不区分大小写匹配 4.9.2.1 ⏱️2024.03.29 b58e7be
文档
新特性
突破性变化
问题修复
.NET8
之后修改 System.Text.Json
默认序列化选项引发 This JsonSerializerOptions instance is read-only or has already been used in serialization or deserialization.
异常问题 4.9.2.2 ⏱️2024.03.29 9f44653
IHttpDispatchProxy
模式配置重试策略无效 4.9.2.1 ⏱️2024.03.29 #I9CK7X:IHttpDispatchProxy无法重试策略
WebAPI
自定义 [Route]
模板中包含路由约束并且含有大小写字母导致生成错误路由问题 4.9.1.61 ⏱️2024.03.27 cc1a7ec
EntityFramework Core
反向工程脚本 cli.ps1
正则表达式匹配错误 4.9.1.59 ⏱️2024.03.26 !872:【轻量级 PR】:update tools/cli.ps1. @丁AS
其他更改
文档
新特性
JWT
授权配置 RequireExpirationTime
属性,解决 JWT
过期时间不能大于 13年
问题 4.9.1.46 ⏱️2024.03.13 #I9840M:JWTEncryption.Encrypt生成超长有效期的access token无法正常访问需要授权的api
TaskId
4.9.1.38 ⏱️2024.03.07 a732c72
Monitor
支持显示服务端端口号 4.9.1.36 ⏱️2024.03.02 9280b6d
Monitor
支持显示客户端(远程)NAT
端口号 4.9.1.36 ⏱️2024.03.02 #I957SE:关于在LogMessage中提供客户端端口的建议
Monitor
支持显示 Web
主机启动或监听的地址 4.9.1.36 ⏱️2024.03.02 #I94XR1:在LoggingMonitor中添加remotePort的建议 0e34172
.NET9
脚手架 4.9.1.31 ⏱️2024.02.14 3c7a25b
.NET8
特有的 Blazor Auto
模式脚手架 4.9.1.28 ⏱️2024.02.02 67ea9ad
TaskId
,管道分类 Channel
和 OnExecuted
事件订阅 4.9.1.28 ⏱️2024.01.31 1c27434
301、302
和响应头带 Location
4.9.1.27 ⏱️2024.01.29 65aa221
Monitor
可配置序列化是否处理 long
转 string
4.9.1.23 ⏱️2023.01.16 #I8WDH9:日志监听 最终返回值json序列化 值类型不符
HTTP
响应报文头输出 Furion
版本 4.9.1.23 ⏱️2024.01.16 a4a49d6
Concurrent
串行执行 4.9.1.22 ⏱️2024.01.14 #I8VXFV:不知道队列的这种设计是否合理?
Serve.RunAsync
异步启动主机方法支持 4.9.1.21 ⏱️2024.01.12 #I8V0J8:能否提供 Serve.RunAsync 方法
Oops.Text(errorCode)
静态方法,可根据错误码获取错误消息 4.9.1.18 ⏱️2024.01.08 f25125c
IJobPersistence
持久化接口 OnExecutionRecord
方法实现作业运行记录持久化 4.9.1.16 ⏱️2024.01.01 4d4d492
OnExecutionRecord
事件,可监听作业运行记录 4.9.1.16 ⏱️2024.01.01 4d4d492
EFCore
数据库操作 EntityNotTenant
和 EntityBaseNotTenant
实体基类 4.9.1.11 ⏱️2023.12.04 b62bfb1
ConsoleFormatterExtendOptions
配置 4.9.1.10 ⏱️2023.12.04 a96fe08
JSON.IsValid(jsonString)
判断 JSON
字符串有效性 4.9.1.8 ⏱️2023.11.30 22bc69b
axios-utils.ts
解析 token
信息导出方法 4.9.1.7 ⏱️2023.11.29 ae8c3e8
SSE
请求、文件请求、图片请求 4.9.1.6 ⏱️2023.11.22 #I8IP6D:sse方式的接口报错 System.InvalidOperationException: Headers are read-only, response has already started.
[AppDbContext]
特性支持 UseSnakeCaseNaming
属性配置表名使用蛇形命名 4.9.1.5 ⏱️2023.11.20 #I8HGR2:[功能建议]建议在 AppDbContextAttribute 增加 UseSnakeCaseNaming 属性,以允许表名按蛇形命名 !863:在AppDbContextAttribute特性支持对表名进行蛇形命名
DateTime/DateTimeOffset
类型 4.9.1.5 ⏱️2023.11.20 df3053c
Newtonsoft.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.3 ⏱️2023.11.17 78a589d
System.Text.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.2 ⏱️2023.11.17 abd5196
IRepositoryFactory<TEntity, TDbContextLocator>
仓储功能,解决在 Blazor
中使用 EFCore
问题 4.9.1.1 ⏱️2023.11.16 4285ec0 文档说明
突破性变化
[Method]AsStreamAsync
返回值类型 4.9.1.44 ⏱️2024.03.08 ef03308
Guid
改为 object
类型 4.9.1.38 ⏱️2024.03.07 a732c72
.NET9.0
预览版 4.9.1.31 ⏱️2024.02.14 3c7a25b
long
转 string
处理 4.9.1.23 ⏱️2024.01.16 #I8WDH9:日志监听 最终返回值json序列化 值类型不符
IJobPersistence
持久化接口 OnExecutionRecord
方法实现作业运行记录持久化 4.9.1.16 ⏱️2024.01.01 4d4d492
WebAPI
生成版本控制路由规则,版本分隔符默认由 @
调整为 v
4.9.1.14 ⏱️2023.12.14 7677d0f
Serilog
拓展包依赖至 8.0.0
版本,移除 .NET8.0
的 IWebHostBuilder.UseSerilogDefault
拓展方法 4.9.1.1 ⏱️2023.11.16 5ab3e43
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
问题修复
WebAPI
实现插件化功能失效 4.9.1.55 ⏱️2024.03.20 #I9A59F:API 插件化 失效(v4.9.1.49 版本之前正常) a96d276
ValiationTypes.Color
不支持八位 RGBA
格式问题 4.9.1.54 ⏱️2024.03.19 ca0b660
AddJwt
不能使用 JWTEncryption.Encrypt
方法问题 4.9.1.53 ⏱️2024.03.16 5882cf9
ASP.NET Core
启动时自动载入 NuGet
包导致模块化配置 SupportPackageNamePrefixs
出现非预期的结果 4.9.1.50 ⏱️2024.03.15 d212e2b
WebAPI
配置了 DefaultModule
后导致生成重复的模块路由,由 87849d1 提交导致 4.9.1.49 ⏱️2024.03.14 #I98GDW:动态 WebApi 配置 DefaultModule 导致路由地址出现两次 Module
Newtonsoft
序列化中启用了 AddLongTypeConverters
配置来处理值类型被声明为可空类型并赋予默认值时出现转换异常问题 4.9.1.48 ⏱️2024.03.13 ecd547f
RunOnStart
在配置了 StartTime
属性后出现启动时机错误问题 4.9.1.42 ⏱️2024.03.08 c1e2eb3
StartTime
后导致获取间隔触发器 NextRunTime
不正确问题 4.9.1.41 ⏱️2024.03.07 734a8c3 1756ab4
The request message was already sent. Cannot send the same request message multiple times.
异常 4.9.1.40 ⏱️2024.03.07 #I96MOY:远程请求
Web
主机未启动但泛型主机已启动时使用 App.GetService
出现 RootServices
为 null
问题 4.9.1.37 ⏱️2024.03.03 ee70ab9
4.9.1.33
(0bbeb49) 版本导致自定义事件存储器无法消费动态订阅器问题 4.9.1.34 ⏱️2024.02.27 d66175c
Inject
导致异常问题 4.9.1.32 ⏱️2024.02.21 1651013
DateTime/DateTimeOffset/DateOnly/TimeOnly
默认格式配置无效问题 4.9.1.30 ⏱️2024.02.07 8057a6a
charset
设置导致异常问题 4.9.1.29 ⏱️2024.02.05 d5d03e5
throw Oops.Oh(message)
在 Blazor
组件中使用出现空异常问题 4.9.1.28 ⏱️2024.01.31 cc5b84d
WebAPI
设置 VersionInFront: false
异常问题 4.9.1.26 ⏱️2024.01.12 #I8ZGGH:路由版本兼容问题 #I8ZDXD:VersionSeparator:版本分隔符兼容问题 #I8ZFNG:版本路由问题还是存在错误
WithStackFrame
配置后可能出现空异常问题 4.9.1.21 ⏱️2024.01.12 c8be745
WebAPI
配置 ForceWithRoutePrefix
不包含 Module
问题 4.9.1.19 ⏱️2024.01.09 87849d1
WebAPI
因 1dc7ea7 提交导致 AsLowerCamelCase
配置失效问题 4.9.1.15 ⏱️2023.12.20 d9810be
Dictionary
对象不支持递归问题 4.9.1.13 ⏱️2023.12.11 #I8NFT4:Clay.Parse序列化对象json Furion4.8.7http请求返回的是对象,Furion4.8.7以后至最新4.9返回的是数组
Scoped.CreateAsync
内部异常上层应用不能捕获问题 4.9.1.12 ⏱️2023.12.08 0a89a43
Scoped.CreateUowAsync
内部异常上层应用不能捕获问题 4.9.1.8 ⏱️2023.11.30 3c859e8
Result
后作业执行异常不能重置问题 4.9.1.7 ⏱️2023.11.24 147215f
JWTEncryption.GetJWTSettings()
独立使用时无法获取自定义配置 4.9.1.4 ⏱️2023.11.18 c045e08
其他更改
文档
Docker
全新部署文档
Nginx
部署文档
Windows Service
部署文档
Db
静态类文档、脚手架文档、.NET7
升级 .NET8
文档、JSON
序列化文档、Docker
部署文档、数据库上下文文档、虚拟文件文档、远程请求文档、HttpContext
文档、JSON
静态类文档、定时任务文档、数据库仓储拓展文档、数据库实体文档、规范化文档、任务队列文档、虚拟文件系统文档、PM2
部署文档贡献者
新特性
JWT
授权配置 RequireExpirationTime
属性,解决 JWT
过期时间不能大于 13年
问题 4.9.1.46 ⏱️2024.03.13 #I9840M:JWTEncryption.Encrypt生成超长有效期的access token无法正常访问需要授权的api
TaskId
4.9.1.38 ⏱️2024.03.07 a732c72
Monitor
支持显示服务端端口号 4.9.1.36 ⏱️2024.03.02 9280b6d
Monitor
支持显示客户端(远程)NAT
端口号 4.9.1.36 ⏱️2024.03.02 #I957SE:关于在LogMessage中提供客户端端口的建议
Monitor
支持显示 Web
主机启动或监听的地址 4.9.1.36 ⏱️2024.03.02 #I94XR1:在LoggingMonitor中添加remotePort的建议 0e34172
.NET9
脚手架 4.9.1.31 ⏱️2024.02.14 3c7a25b
.NET8
特有的 Blazor Auto
模式脚手架 4.9.1.28 ⏱️2024.02.02 67ea9ad
TaskId
,管道分类 Channel
和 OnExecuted
事件订阅 4.9.1.28 ⏱️2024.01.31 1c27434
301、302
和响应头带 Location
4.9.1.27 ⏱️2024.01.29 65aa221
Monitor
可配置序列化是否处理 long
转 string
4.9.1.23 ⏱️2023.01.16 #I8WDH9:日志监听 最终返回值json序列化 值类型不符
HTTP
响应报文头输出 Furion
版本 4.9.1.23 ⏱️2024.01.16 a4a49d6
Concurrent
串行执行 4.9.1.22 ⏱️2024.01.14 #I8VXFV:不知道队列的这种设计是否合理?
Serve.RunAsync
异步启动主机方法支持 4.9.1.21 ⏱️2024.01.12 #I8V0J8:能否提供 Serve.RunAsync 方法
Oops.Text(errorCode)
静态方法,可根据错误码获取错误消息 4.9.1.18 ⏱️2024.01.08 f25125c
IJobPersistence
持久化接口 OnExecutionRecord
方法实现作业运行记录持久化 4.9.1.16 ⏱️2024.01.01 4d4d492
OnExecutionRecord
事件,可监听作业运行记录 4.9.1.16 ⏱️2024.01.01 4d4d492
EFCore
数据库操作 EntityNotTenant
和 EntityBaseNotTenant
实体基类 4.9.1.11 ⏱️2023.12.04 b62bfb1
ConsoleFormatterExtendOptions
配置 4.9.1.10 ⏱️2023.12.04 a96fe08
JSON.IsValid(jsonString)
判断 JSON
字符串有效性 4.9.1.8 ⏱️2023.11.30 22bc69b
axios-utils.ts
解析 token
信息导出方法 4.9.1.7 ⏱️2023.11.29 ae8c3e8
SSE
请求、文件请求、图片请求 4.9.1.6 ⏱️2023.11.22 #I8IP6D:sse方式的接口报错 System.InvalidOperationException: Headers are read-only, response has already started.
[AppDbContext]
特性支持 UseSnakeCaseNaming
属性配置表名使用蛇形命名 4.9.1.5 ⏱️2023.11.20 #I8HGR2:[功能建议]建议在 AppDbContextAttribute 增加 UseSnakeCaseNaming 属性,以允许表名按蛇形命名 !863:在AppDbContextAttribute特性支持对表名进行蛇形命名
DateTime/DateTimeOffset
类型 4.9.1.5 ⏱️2023.11.20 df3053c
Newtonsoft.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.3 ⏱️2023.11.17 78a589d
System.Text.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.2 ⏱️2023.11.17 abd5196
IRepositoryFactory<TEntity, TDbContextLocator>
仓储功能,解决在 Blazor
中使用 EFCore
问题 4.9.1.1 ⏱️2023.11.16 4285ec0 文档说明
突破性变化
[Method]AsStreamAsync
返回值类型 4.9.1.44 ⏱️2024.03.08 ef03308
Guid
改为 object
类型 4.9.1.38 ⏱️2024.03.07 a732c72
.NET9.0
预览版 4.9.1.31 ⏱️2024.02.14 3c7a25b
long
转 string
处理 4.9.1.23 ⏱️2024.01.16 #I8WDH9:日志监听 最终返回值json序列化 值类型不符
IJobPersistence
持久化接口 OnExecutionRecord
方法实现作业运行记录持久化 4.9.1.16 ⏱️2024.01.01 4d4d492
WebAPI
生成版本控制路由规则,版本分隔符默认由 @
调整为 v
4.9.1.14 ⏱️2023.12.14 7677d0f
Serilog
拓展包依赖至 8.0.0
版本,移除 .NET8.0
的 IWebHostBuilder.UseSerilogDefault
拓展方法 4.9.1.1 ⏱️2023.11.16 5ab3e43
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
问题修复
RunOnStart
在配置了 StartTime
属性后出现启动时机错误问题 4.9.1.42 ⏱️2024.03.08 c1e2eb3
StartTime
后导致获取间隔触发器 NextRunTime
不正确问题 4.9.1.41 ⏱️2024.03.07 734a8c3 1756ab4
The request message was already sent. Cannot send the same request message multiple times.
异常 4.9.1.40 ⏱️2024.03.07 #I96MOY:远程请求
Web
主机未启动但泛型主机已启动时使用 App.GetService
出现 RootServices
为 null
问题 4.9.1.37 ⏱️2024.03.03 ee70ab9
4.9.1.33
(0bbeb49) 版本导致自定义事件存储器无法消费动态订阅器问题 4.9.1.34 ⏱️2024.02.27 d66175c
Inject
导致异常问题 4.9.1.32 ⏱️2024.02.21 1651013
DateTime/DateTimeOffset/DateOnly/TimeOnly
默认格式配置无效问题 4.9.1.30 ⏱️2024.02.07 8057a6a
charset
设置导致异常问题 4.9.1.29 ⏱️2024.02.05 d5d03e5
throw Oops.Oh(message)
在 Blazor
组件中使用出现空异常问题 4.9.1.28 ⏱️2024.01.31 cc5b84d
WebAPI
设置 VersionInFront: false
异常问题 4.9.1.26 ⏱️2024.01.12 #I8ZGGH:路由版本兼容问题 #I8ZDXD:VersionSeparator:版本分隔符兼容问题 #I8ZFNG:版本路由问题还是存在错误
WithStackFrame
配置后可能出现空异常问题 4.9.1.21 ⏱️2024.01.12 c8be745
WebAPI
配置 ForceWithRoutePrefix
不包含 Module
问题 4.9.1.19 ⏱️2024.01.09 87849d1
WebAPI
因 1dc7ea7 提交导致 AsLowerCamelCase
配置失效问题 4.9.1.15 ⏱️2023.12.20 d9810be
Dictionary
对象不支持递归问题 4.9.1.13 ⏱️2023.12.11 #I8NFT4:Clay.Parse序列化对象json Furion4.8.7http请求返回的是对象,Furion4.8.7以后至最新4.9返回的是数组
Scoped.CreateAsync
内部异常上层应用不能捕获问题 4.9.1.12 ⏱️2023.12.08 0a89a43
Scoped.CreateUowAsync
内部异常上层应用不能捕获问题 4.9.1.8 ⏱️2023.11.30 3c859e8
Result
后作业执行异常不能重置问题 4.9.1.7 ⏱️2023.11.24 147215f
JWTEncryption.GetJWTSettings()
独立使用时无法获取自定义配置 4.9.1.4 ⏱️2023.11.18 c045e08
其他更改
文档
Docker
全新部署文档
Nginx
部署文档
Windows Service
部署文档
Db
静态类文档、脚手架文档、.NET7
升级 .NET8
文档、JSON
序列化文档、Docker
部署文档、数据库上下文文档、虚拟文件文档、远程请求文档、HttpContext
文档、JSON
静态类文档、定时任务文档、数据库仓储拓展文档、数据库实体文档、规范化文档、任务队列文档、虚拟文件系统文档、PM2
部署文档贡献者
新特性
Monitor
支持显示服务端端口号 4.9.1.36 ⏱️2024.03.02 9280b6d
Monitor
支持显示客户端(远程)NAT
端口号 4.9.1.36 ⏱️2024.03.02 #I957SE:关于在LogMessage中提供客户端端口的建议
Monitor
支持显示 Web
主机启动或监听的地址 4.9.1.36 ⏱️2024.03.02 #I94XR1:在LoggingMonitor中添加remotePort的建议 0e34172
.NET9
脚手架 4.9.1.31 ⏱️2024.02.14 3c7a25b
.NET8
特有的 Blazor Auto
模式脚手架 4.9.1.28 ⏱️2024.02.02 67ea9ad
TaskId
,管道分类 Channel
和 OnExecuted
事件订阅 4.9.1.28 ⏱️2024.01.31 1c27434
301、302
和响应头带 Location
4.9.1.27 ⏱️2024.01.29 65aa221
Monitor
可配置序列化是否处理 long
转 string
4.9.1.23 ⏱️2023.01.16 #I8WDH9:日志监听 最终返回值json序列化 值类型不符
HTTP
响应报文头输出 Furion
版本 4.9.1.23 ⏱️2024.01.16 a4a49d6
Concurrent
串行执行 4.9.1.22 ⏱️2024.01.14 #I8VXFV:不知道队列的这种设计是否合理?
Serve.RunAsync
异步启动主机方法支持 4.9.1.21 ⏱️2024.01.12 #I8V0J8:能否提供 Serve.RunAsync 方法
Oops.Text(errorCode)
静态方法,可根据错误码获取错误消息 4.9.1.18 ⏱️2024.01.08 f25125c
IJobPersistence
持久化接口 OnExecutionRecord
方法实现作业运行记录持久化 4.9.1.16 ⏱️2024.01.01 4d4d492
OnExecutionRecord
事件,可监听作业运行记录 4.9.1.16 ⏱️2024.01.01 4d4d492
EFCore
数据库操作 EntityNotTenant
和 EntityBaseNotTenant
实体基类 4.9.1.11 ⏱️2023.12.04 b62bfb1
ConsoleFormatterExtendOptions
配置 4.9.1.10 ⏱️2023.12.04 a96fe08
JSON.IsValid(jsonString)
判断 JSON
字符串有效性 4.9.1.8 ⏱️2023.11.30 22bc69b
axios-utils.ts
解析 token
信息导出方法 4.9.1.7 ⏱️2023.11.29 ae8c3e8
SSE
请求、文件请求、图片请求 4.9.1.6 ⏱️2023.11.22 #I8IP6D:sse方式的接口报错 System.InvalidOperationException: Headers are read-only, response has already started.
[AppDbContext]
特性支持 UseSnakeCaseNaming
属性配置表名使用蛇形命名 4.9.1.5 ⏱️2023.11.20 #I8HGR2:[功能建议]建议在 AppDbContextAttribute 增加 UseSnakeCaseNaming 属性,以允许表名按蛇形命名 !863:在AppDbContextAttribute特性支持对表名进行蛇形命名
DateTime/DateTimeOffset
类型 4.9.1.5 ⏱️2023.11.20 df3053c
Newtonsoft.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.3 ⏱️2023.11.17 78a589d
System.Text.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.2 ⏱️2023.11.17 abd5196
IRepositoryFactory<TEntity, TDbContextLocator>
仓储功能,解决在 Blazor
中使用 EFCore
问题 4.9.1.1 ⏱️2023.11.16 4285ec0 文档说明
突破性变化
.NET9.0
预览版 4.9.1.31 ⏱️2024.02.14 3c7a25b
long
转 string
处理 4.9.1.23 ⏱️2024.01.16 #I8WDH9:日志监听 最终返回值json序列化 值类型不符
IJobPersistence
持久化接口 OnExecutionRecord
方法实现作业运行记录持久化 4.9.1.16 ⏱️2024.01.01 4d4d492
WebAPI
生成版本控制路由规则,版本分隔符默认由 @
调整为 v
4.9.1.14 ⏱️2023.12.14 7677d0f
Serilog
拓展包依赖至 8.0.0
版本,移除 .NET8.0
的 IWebHostBuilder.UseSerilogDefault
拓展方法 4.9.1.1 ⏱️2023.11.16 5ab3e43
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
问题修复
Web
主机未启动但泛型主机已启动时使用 App.GetService
出现 RootServices
为 null
问题 4.9.1.37 ⏱️2024.03.03 ee70ab9
4.9.1.33
(0bbeb49) 版本导致自定义事件存储器无法消费动态订阅器问题 4.9.1.34 ⏱️2024.02.27 d66175c
Inject
导致异常问题 4.9.1.32 ⏱️2024.02.21 1651013
DateTime/DateTimeOffset/DateOnly/TimeOnly
默认格式配置无效问题 4.9.1.30 ⏱️2024.02.07 8057a6a
charset
设置导致异常问题 4.9.1.29 ⏱️2024.02.05 d5d03e5
throw Oops.Oh(message)
在 Blazor
组件中使用出现空异常问题 4.9.1.28 ⏱️2024.01.31 cc5b84d
WebAPI
设置 VersionInFront: false
异常问题 4.9.1.26 ⏱️2024.01.12 #I8ZGGH:路由版本兼容问题 #I8ZDXD:VersionSeparator:版本分隔符兼容问题 #I8ZFNG:版本路由问题还是存在错误
WithStackFrame
配置后可能出现空异常问题 4.9.1.21 ⏱️2024.01.12 c8be745
WebAPI
配置 ForceWithRoutePrefix
不包含 Module
问题 4.9.1.19 ⏱️2024.01.09 87849d1
WebAPI
因 1dc7ea7 提交导致 AsLowerCamelCase
配置失效问题 4.9.1.15 ⏱️2023.12.20 d9810be
Dictionary
对象不支持递归问题 4.9.1.13 ⏱️2023.12.11 #I8NFT4:Clay.Parse序列化对象json Furion4.8.7http请求返回的是对象,Furion4.8.7以后至最新4.9返回的是数组
Scoped.CreateAsync
内部异常上层应用不能捕获问题 4.9.1.12 ⏱️2023.12.08 0a89a43
Scoped.CreateUowAsync
内部异常上层应用不能捕获问题 4.9.1.8 ⏱️2023.11.30 3c859e8
Result
后作业执行异常不能重置问题 4.9.1.7 ⏱️2023.11.24 147215f
JWTEncryption.GetJWTSettings()
独立使用时无法获取自定义配置 4.9.1.4 ⏱️2023.11.18 c045e08
其他更改
文档
Docker
全新部署文档
Nginx
部署文档
Windows Service
部署文档
Db
静态类文档、脚手架文档、.NET7
升级 .NET8
文档、JSON
序列化文档、Docker
部署文档、数据库上下文文档、虚拟文件文档、远程请求文档、HttpContext
文档、JSON
静态类文档、定时任务文档、数据库仓储拓展文档、数据库实体文档、规范化文档、任务队列文档、虚拟文件系统文档、PM2
部署文档贡献者
新特性
.NET9
脚手架 4.9.1.31 ⏱️2024.02.14 3c7a25b
.NET8
特有的 Blazor Auto
模式脚手架 4.9.1.28 ⏱️2024.02.02 67ea9ad
TaskId
,管道分类 Channel
和 OnExecuted
事件订阅 4.9.1.28 ⏱️2024.01.31 1c27434
301、302
和响应头带 Location
4.9.1.27 ⏱️2024.01.29 65aa221
Monitor
可配置序列化是否处理 long
转 string
4.9.1.23 ⏱️2023.01.16 #I8WDH9:日志监听 最终返回值json序列化 值类型不符
HTTP
响应报文头输出 Furion
版本 4.9.1.23 ⏱️2024.01.16 a4a49d6
Concurrent
串行执行 4.9.1.22 ⏱️2024.01.14 #I8VXFV:不知道队列的这种设计是否合理?
Serve.RunAsync
异步启动主机方法支持 4.9.1.21 ⏱️2024.01.12 #I8V0J8:能否提供 Serve.RunAsync 方法
Oops.Text(errorCode)
静态方法,可根据错误码获取错误消息 4.9.1.18 ⏱️2024.01.08 f25125c
IJobPersistence
持久化接口 OnExecutionRecord
方法实现作业运行记录持久化 4.9.1.16 ⏱️2024.01.01 4d4d492
OnExecutionRecord
事件,可监听作业运行记录 4.9.1.16 ⏱️2024.01.01 4d4d492
EFCore
数据库操作 EntityNotTenant
和 EntityBaseNotTenant
实体基类 4.9.1.11 ⏱️2023.12.04 b62bfb1
ConsoleFormatterExtendOptions
配置 4.9.1.10 ⏱️2023.12.04 a96fe08
JSON.IsValid(jsonString)
判断 JSON
字符串有效性 4.9.1.8 ⏱️2023.11.30 22bc69b
axios-utils.ts
解析 token
信息导出方法 4.9.1.7 ⏱️2023.11.29 ae8c3e8
SSE
请求、文件请求、图片请求 4.9.1.6 ⏱️2023.11.22 #I8IP6D:sse方式的接口报错 System.InvalidOperationException: Headers are read-only, response has already started.
[AppDbContext]
特性支持 UseSnakeCaseNaming
属性配置表名使用蛇形命名 4.9.1.5 ⏱️2023.11.20 #I8HGR2:[功能建议]建议在 AppDbContextAttribute 增加 UseSnakeCaseNaming 属性,以允许表名按蛇形命名 !863:在AppDbContextAttribute特性支持对表名进行蛇形命名
DateTime/DateTimeOffset
类型 4.9.1.5 ⏱️2023.11.20 df3053c
Newtonsoft.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.3 ⏱️2023.11.17 78a589d
System.Text.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.2 ⏱️2023.11.17 abd5196
IRepositoryFactory<TEntity, TDbContextLocator>
仓储功能,解决在 Blazor
中使用 EFCore
问题 4.9.1.1 ⏱️2023.11.16 4285ec0 文档说明
突破性变化
.NET9.0
预览版 4.9.1.31 ⏱️2024.02.14 3c7a25b
long
转 string
处理 4.9.1.23 ⏱️2024.01.16 #I8WDH9:日志监听 最终返回值json序列化 值类型不符
IJobPersistence
持久化接口 OnExecutionRecord
方法实现作业运行记录持久化 4.9.1.16 ⏱️2024.01.01 4d4d492
WebAPI
生成版本控制路由规则,版本分隔符默认由 @
调整为 v
4.9.1.14 ⏱️2023.12.14 7677d0f
Serilog
拓展包依赖至 8.0.0
版本,移除 .NET8.0
的 IWebHostBuilder.UseSerilogDefault
拓展方法 4.9.1.1 ⏱️2023.11.16 5ab3e43
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
问题修复
Inject
导致异常问题 4.9.1.32 ⏱️2024.02.21 1651013
DateTime/DateTimeOffset/DateOnly/TimeOnly
默认格式配置无效问题 4.9.1.30 ⏱️2024.02.07 8057a6a
charset
设置导致异常问题 4.9.1.29 ⏱️2024.02.05 d5d03e5
throw Oops.Oh(message)
在 Blazor
组件中使用出现空异常问题 4.9.1.28 ⏱️2024.01.31 cc5b84d
WebAPI
设置 VersionInFront: false
异常问题 4.9.1.26 ⏱️2024.01.12 #I8ZGGH:路由版本兼容问题 #I8ZDXD:VersionSeparator:版本分隔符兼容问题 #I8ZFNG:版本路由问题还是存在错误
WithStackFrame
配置后可能出现空异常问题 4.9.1.21 ⏱️2024.01.12 c8be745
WebAPI
配置 ForceWithRoutePrefix
不包含 Module
问题 4.9.1.19 ⏱️2024.01.09 87849d1
WebAPI
因 1dc7ea7 提交导致 AsLowerCamelCase
配置失效问题 4.9.1.15 ⏱️2023.12.20 d9810be
Dictionary
对象不支持递归问题 4.9.1.13 ⏱️2023.12.11 #I8NFT4:Clay.Parse序列化对象json Furion4.8.7http请求返回的是对象,Furion4.8.7以后至最新4.9返回的是数组
Scoped.CreateAsync
内部异常上层应用不能捕获问题 4.9.1.12 ⏱️2023.12.08 0a89a43
Scoped.CreateUowAsync
内部异常上层应用不能捕获问题 4.9.1.8 ⏱️2023.11.30 3c859e8
Result
后作业执行异常不能重置问题 4.9.1.7 ⏱️2023.11.24 147215f
JWTEncryption.GetJWTSettings()
独立使用时无法获取自定义配置 4.9.1.4 ⏱️2023.11.18 c045e08
其他更改
文档
Docker
全新部署文档
Nginx
部署文档
Windows Service
部署文档
Db
静态类文档、脚手架文档、.NET7
升级 .NET8
文档、JSON
序列化文档、Docker
部署文档、数据库上下文文档、虚拟文件文档、远程请求文档、HttpContext
文档、JSON
静态类文档、定时任务文档、数据库仓储拓展文档、数据库实体文档、规范化文档、任务队列文档、虚拟文件系统文档、PM2
部署文档贡献者
新特性
301、302
和响应头带 Location
4.9.1.27 ⏱️2024.01.29 65aa221
Monitor
可配置序列化是否处理 long
转 string
4.9.1.23 ⏱️2023.01.16 #I8WDH9:日志监听 最终返回值json序列化 值类型不符
HTTP
响应报文头输出 Furion
版本 4.9.1.23 ⏱️2024.01.16 a4a49d6
Concurrent
串行执行 4.9.1.22 ⏱️2024.01.14 #I8VXFV:不知道队列的这种设计是否合理?
Serve.RunAsync
异步启动主机方法支持 4.9.1.21 ⏱️2024.01.12 #I8V0J8:能否提供 Serve.RunAsync 方法
Oops.Text(errorCode)
静态方法,可根据错误码获取错误消息 4.9.1.18 ⏱️2024.01.08 f25125c
IJobPersistence
持久化接口 OnExecutionRecord
方法实现作业运行记录持久化 4.9.1.16 ⏱️2024.01.01 4d4d492
OnExecutionRecord
事件,可监听作业运行记录 4.9.1.16 ⏱️2024.01.01 4d4d492
EFCore
数据库操作 EntityNotTenant
和 EntityBaseNotTenant
实体基类 4.9.1.11 ⏱️2023.12.04 b62bfb1
ConsoleFormatterExtendOptions
配置 4.9.1.10 ⏱️2023.12.04 a96fe08
JSON.IsValid(jsonString)
判断 JSON
字符串有效性 4.9.1.8 ⏱️2023.11.30 22bc69b
axios-utils.ts
解析 token
信息导出方法 4.9.1.7 ⏱️2023.11.29 ae8c3e8
SSE
请求、文件请求、图片请求 4.9.1.6 ⏱️2023.11.22 #I8IP6D:sse方式的接口报错 System.InvalidOperationException: Headers are read-only, response has already started.
[AppDbContext]
特性支持 UseSnakeCaseNaming
属性配置表名使用蛇形命名 4.9.1.5 ⏱️2023.11.20 #I8HGR2:[功能建议]建议在 AppDbContextAttribute 增加 UseSnakeCaseNaming 属性,以允许表名按蛇形命名 !863:在AppDbContextAttribute特性支持对表名进行蛇形命名
DateTime/DateTimeOffset
类型 4.9.1.5 ⏱️2023.11.20 df3053c
Newtonsoft.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.3 ⏱️2023.11.17 78a589d
System.Text.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.2 ⏱️2023.11.17 abd5196
IRepositoryFactory<TEntity, TDbContextLocator>
仓储功能,解决在 Blazor
中使用 EFCore
问题 4.9.1.1 ⏱️2023.11.16 4285ec0 文档说明
突破性变化
long
转 string
处理 4.9.1.23 ⏱️2024.01.16 #I8WDH9:日志监听 最终返回值json序列化 值类型不符
IJobPersistence
持久化接口 OnExecutionRecord
方法实现作业运行记录持久化 4.9.1.16 ⏱️2024.01.01 4d4d492
WebAPI
生成版本控制路由规则,版本分隔符默认由 @
调整为 v
4.9.1.14 ⏱️2023.12.14 7677d0f
Serilog
拓展包依赖至 8.0.0
版本,移除 .NET8.0
的 IWebHostBuilder.UseSerilogDefault
拓展方法 4.9.1.1 ⏱️2023.11.16 5ab3e43
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
问题修复
WebAPI
设置 VersionInFront: false
异常问题 4.9.1.26 ⏱️2024.01.12 #I8ZGGH:路由版本兼容问题 #I8ZDXD:VersionSeparator:版本分隔符兼容问题 #I8ZFNG:版本路由问题还是存在错误
WithStackFrame
配置后可能出现空异常问题 4.9.1.21 ⏱️2024.01.12 c8be745
WebAPI
配置 ForceWithRoutePrefix
不包含 Module
问题 4.9.1.19 ⏱️2024.01.09 87849d1
WebAPI
因 1dc7ea7 提交导致 AsLowerCamelCase
配置失效问题 4.9.1.15 ⏱️2023.12.20 d9810be
Dictionary
对象不支持递归问题 4.9.1.13 ⏱️2023.12.11 #I8NFT4:Clay.Parse序列化对象json Furion4.8.7http请求返回的是对象,Furion4.8.7以后至最新4.9返回的是数组
Scoped.CreateAsync
内部异常上层应用不能捕获问题 4.9.1.12 ⏱️2023.12.08 0a89a43
Scoped.CreateUowAsync
内部异常上层应用不能捕获问题 4.9.1.8 ⏱️2023.11.30 3c859e8
Result
后作业执行异常不能重置问题 4.9.1.7 ⏱️2023.11.24 147215f
JWTEncryption.GetJWTSettings()
独立使用时无法获取自定义配置 4.9.1.4 ⏱️2023.11.18 c045e08
其他更改
文档
Db
静态类文档、脚手架文档、.NET7
升级 .NET8
文档、JSON
序列化文档、Docker
部署文档、数据库上下文文档、虚拟文件文档、远程请求文档、HttpContext
文档、JSON
静态类文档、定时任务文档、数据库仓储拓展文档、数据库实体文档、规范化文档、任务队列文档、虚拟文件系统文档贡献者
新特性
Monitor
可配置序列化是否处理 long
转 string
4.9.1.23 ⏱️2023.01.16 #I8WDH9:日志监听 最终返回值json序列化 值类型不符
HTTP
响应报文头输出 Furion
版本 4.9.1.23 ⏱️2024.01.16 a4a49d6
Concurrent
串行执行 4.9.1.22 ⏱️2024.01.14 #I8VXFV:不知道队列的这种设计是否合理?
Serve.RunAsync
异步启动主机方法支持 4.9.1.21 ⏱️2024.01.12 #I8V0J8:能否提供 Serve.RunAsync 方法
Oops.Text(errorCode)
静态方法,可根据错误码获取错误消息 4.9.1.18 ⏱️2024.01.08 f25125c
IJobPersistence
持久化接口 OnExecutionRecord
方法实现作业运行记录持久化 4.9.1.16 ⏱️2024.01.01 4d4d492
OnExecutionRecord
事件,可监听作业运行记录 4.9.1.16 ⏱️2024.01.01 4d4d492
EFCore
数据库操作 EntityNotTenant
和 EntityBaseNotTenant
实体基类 4.9.1.11 ⏱️2023.12.04 b62bfb1
ConsoleFormatterExtendOptions
配置 4.9.1.10 ⏱️2023.12.04 a96fe08
JSON.IsValid(jsonString)
判断 JSON
字符串有效性 4.9.1.8 ⏱️2023.11.30 22bc69b
axios-utils.ts
解析 token
信息导出方法 4.9.1.7 ⏱️2023.11.29 ae8c3e8
SSE
请求、文件请求、图片请求 4.9.1.6 ⏱️2023.11.22 #I8IP6D:sse方式的接口报错 System.InvalidOperationException: Headers are read-only, response has already started.
[AppDbContext]
特性支持 UseSnakeCaseNaming
属性配置表名使用蛇形命名 4.9.1.5 ⏱️2023.11.20 #I8HGR2:[功能建议]建议在 AppDbContextAttribute 增加 UseSnakeCaseNaming 属性,以允许表名按蛇形命名 !863:在AppDbContextAttribute特性支持对表名进行蛇形命名
DateTime/DateTimeOffset
类型 4.9.1.5 ⏱️2023.11.20 df3053c
Newtonsoft.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.3 ⏱️2023.11.17 78a589d
System.Text.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.2 ⏱️2023.11.17 abd5196
IRepositoryFactory<TEntity, TDbContextLocator>
仓储功能,解决在 Blazor
中使用 EFCore
问题 4.9.1.1 ⏱️2023.11.16 4285ec0 文档说明
突破性变化
long
转 string
处理 4.9.1.23 ⏱️2024.01.16 #I8WDH9:日志监听 最终返回值json序列化 值类型不符
IJobPersistence
持久化接口 OnExecutionRecord
方法实现作业运行记录持久化 4.9.1.16 ⏱️2024.01.01 4d4d492
WebAPI
生成版本控制路由规则,版本分隔符默认由 @
调整为 v
4.9.1.14 ⏱️2023.12.14 7677d0f
Serilog
拓展包依赖至 8.0.0
版本,移除 .NET8.0
的 IWebHostBuilder.UseSerilogDefault
拓展方法 4.9.1.1 ⏱️2023.11.16 5ab3e43
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
问题修复
WithStackFrame
配置后可能出现空异常问题 4.9.1.21 ⏱️2024.01.12 c8be745
WebAPI
配置 ForceWithRoutePrefix
不包含 Module
问题 4.9.1.19 ⏱️2024.01.09 87849d1
WebAPI
因 1dc7ea7 提交导致 AsLowerCamelCase
配置失效问题 4.9.1.15 ⏱️2023.12.20 d9810be
Dictionary
对象不支持递归问题 4.9.1.13 ⏱️2023.12.11 #I8NFT4:Clay.Parse序列化对象json Furion4.8.7http请求返回的是对象,Furion4.8.7以后至最新4.9返回的是数组
Scoped.CreateAsync
内部异常上层应用不能捕获问题 4.9.1.12 ⏱️2023.12.08 0a89a43
Scoped.CreateUowAsync
内部异常上层应用不能捕获问题 4.9.1.8 ⏱️2023.11.30 3c859e8
Result
后作业执行异常不能重置问题 4.9.1.7 ⏱️2023.11.24 147215f
JWTEncryption.GetJWTSettings()
独立使用时无法获取自定义配置 4.9.1.4 ⏱️2023.11.18 c045e08
其他更改
文档
Db
静态类文档、脚手架文档、.NET7
升级 .NET8
文档、JSON
序列化文档、Docker
部署文档、数据库上下文文档、虚拟文件文档、远程请求文档、HttpContext
文档、JSON
静态类文档、定时任务文档、数据库仓储拓展文档、数据库实体文档、规范化文档贡献者
新特性
IJobPersistence
持久化接口 OnExecutionRecord
方法实现作业运行记录持久化 4.9.1.16 ⏱️2024.01.01 4d4d492
OnExecutionRecord
事件,可监听作业运行记录 4.9.1.16 ⏱️2024.01.01 4d4d492
EFCore
数据库操作 EntityNotTenant
和 EntityBaseNotTenant
实体基类 4.9.1.11 ⏱️2023.12.04 b62bfb1
ConsoleFormatterExtendOptions
配置 4.9.1.10 ⏱️2023.12.04 a96fe08
JSON.IsValid(jsonString)
判断 JSON
字符串有效性 4.9.1.8 ⏱️2023.11.30 22bc69b
axios-utils.ts
解析 token
信息导出方法 4.9.1.7 ⏱️2023.11.29 ae8c3e8
SSE
请求、文件请求、图片请求 4.9.1.6 ⏱️2023.11.22 #I8IP6D:sse方式的接口报错 System.InvalidOperationException: Headers are read-only, response has already started.
[AppDbContext]
特性支持 UseSnakeCaseNaming
属性配置表名使用蛇形命名 4.9.1.5 ⏱️2023.11.20 #I8HGR2:[功能建议]建议在 AppDbContextAttribute 增加 UseSnakeCaseNaming 属性,以允许表名按蛇形命名 !863:在AppDbContextAttribute特性支持对表名进行蛇形命名
DateTime/DateTimeOffset
类型 4.9.1.5 ⏱️2023.11.20 df3053c
Newtonsoft.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.3 ⏱️2023.11.17 78a589d
System.Text.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.2 ⏱️2023.11.17 abd5196
IRepositoryFactory<TEntity, TDbContextLocator>
仓储功能,解决在 Blazor
中使用 EFCore
问题 4.9.1.1 ⏱️2023.11.16 4285ec0 文档说明
突破性变化
IJobPersistence
持久化接口 OnExecutionRecord
方法实现作业运行记录持久化 4.9.1.16 ⏱️2024.01.01 4d4d492
WebAPI
生成版本控制路由规则,版本分隔符默认由 @
调整为 v
4.9.1.14 ⏱️2023.12.14 7677d0f
Serilog
拓展包依赖至 8.0.0
版本,移除 .NET8.0
的 IWebHostBuilder.UseSerilogDefault
拓展方法 4.9.1.1 ⏱️2023.11.16 5ab3e43
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
问题修复
WebAPI
因 1dc7ea7 提交导致 AsLowerCamelCase
配置失效问题 4.9.1.15 ⏱️2023.12.20 d9810be
Dictionary
对象不支持递归问题 4.9.1.13 ⏱️2023.12.11 #I8NFT4:Clay.Parse序列化对象json Furion4.8.7http请求返回的是对象,Furion4.8.7以后至最新4.9返回的是数组
Scoped.CreateAsync
内部异常上层应用不能捕获问题 4.9.1.12 ⏱️2023.12.08 0a89a43
Scoped.CreateUowAsync
内部异常上层应用不能捕获问题 4.9.1.8 ⏱️2023.11.30 3c859e8
Result
后作业执行异常不能重置问题 4.9.1.7 ⏱️2023.11.24 147215f
JWTEncryption.GetJWTSettings()
独立使用时无法获取自定义配置 4.9.1.4 ⏱️2023.11.18 c045e08
其他更改
文档
Db
静态类文档、脚手架文档、.NET7
升级 .NET8
文档、JSON
序列化文档、Docker
部署文档、数据库上下文文档、虚拟文件文档、远程请求文档、HttpContext
文档、JSON
静态类文档、定时任务文档、数据库仓储拓展文档、数据库实体文档、规范化文档贡献者
新特性
EFCore
数据库操作 EntityNotTenant
和 EntityBaseNotTenant
实体基类 4.9.1.11 ⏱️2023.12.04 b62bfb1
ConsoleFormatterExtendOptions
配置 4.9.1.10 ⏱️2023.12.04 a96fe08
JSON.IsValid(jsonString)
判断 JSON
字符串有效性 4.9.1.8 ⏱️2023.11.30 22bc69b
axios-utils.ts
解析 token
信息导出方法 4.9.1.7 ⏱️2023.11.29 ae8c3e8
SSE
请求、文件请求、图片请求 4.9.1.6 ⏱️2023.11.22 #I8IP6D:sse方式的接口报错 System.InvalidOperationException: Headers are read-only, response has already started.
[AppDbContext]
特性支持 UseSnakeCaseNaming
属性配置表名使用蛇形命名 4.9.1.5 ⏱️2023.11.20 #I8HGR2:[功能建议]建议在 AppDbContextAttribute 增加 UseSnakeCaseNaming 属性,以允许表名按蛇形命名 !863:在AppDbContextAttribute特性支持对表名进行蛇形命名
DateTime/DateTimeOffset
类型 4.9.1.5 ⏱️2023.11.20 df3053c
Newtonsoft.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.3 ⏱️2023.11.17 78a589d
System.Text.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.2 ⏱️2023.11.17 abd5196
IRepositoryFactory<TEntity, TDbContextLocator>
仓储功能,解决在 Blazor
中使用 EFCore
问题 4.9.1.1 ⏱️2023.11.16 4285ec0 文档说明
突破性变化
Serilog
拓展包依赖至 8.0.0
版本,移除 .NET8.0
的 IWebHostBuilder.UseSerilogDefault
拓展方法 4.9.1.1 ⏱️2023.11.16 5ab3e43
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
问题修复
Dictionary
对象不支持递归问题 4.9.1.13 ⏱️2023.12.11 #I8NFT4:Clay.Parse序列化对象json Furion4.8.7http请求返回的是对象,Furion4.8.7以后至最新4.9返回的是数组
Scoped.CreateAsync
内部异常上层应用不能捕获问题 4.9.1.12 ⏱️2023.12.08 0a89a43
Scoped.CreateUowAsync
内部异常上层应用不能捕获问题 4.9.1.8 ⏱️2023.11.30 3c859e8
Result
后作业执行异常不能重置问题 4.9.1.7 ⏱️2023.11.24 147215f
JWTEncryption.GetJWTSettings()
独立使用时无法获取自定义配置 4.9.1.4 ⏱️2023.11.18 c045e08
文档
Db
静态类文档、脚手架文档、.NET7
升级 .NET8
文档、JSON
序列化文档、Docker
部署文档、数据库上下文文档、虚拟文件文档、远程请求文档、HttpContext
文档、JSON
静态类文档、定时任务文档、数据库仓储拓展文档、数据库实体文档、规范化文档贡献者
新特性
SSE
请求、文件请求、图片请求 4.9.1.6 ⏱️2023.11.22 #I8IP6D:sse方式的接口报错 System.InvalidOperationException: Headers are read-only, response has already started.
[AppDbContext]
特性支持 UseSnakeCaseNaming
属性配置表名使用蛇形命名 4.9.1.5 ⏱️2023.11.20 #I8HGR2:[功能建议]建议在 AppDbContextAttribute 增加 UseSnakeCaseNaming 属性,以允许表名按蛇形命名 !863:在AppDbContextAttribute特性支持对表名进行蛇形命名
DateTime/DateTimeOffset
类型 4.9.1.5 ⏱️2023.11.20 df3053c
Newtonsoft.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.3 ⏱️2023.11.17 78a589d
System.Text.Json
自动将时间戳转换为 DateTime/DateTimeOffset
类型 4.9.1.2 ⏱️2023.11.17 abd5196
IRepositoryFactory<TEntity, TDbContextLocator>
仓储功能,解决在 Blazor
中使用 EFCore
问题 4.9.1.1 ⏱️2023.11.16 4285ec0 文档说明
突破性变化
Serilog
拓展包依赖至 8.0.0
版本,移除 .NET8.0
的 IWebHostBuilder.UseSerilogDefault
拓展方法 4.9.1.1 ⏱️2023.11.16 5ab3e43
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
.NET8.0
正式版 4.9.1 ⏱️2023.11.15
问题修复
文档
Db
静态类文档、脚手架文档、.NET7
升级 .NET8
文档、JSON
序列化文档、Docker
部署文档、数据库上下文文档贡献者
更新日志:http://furion.baiqian.ltd/docs/upgrade/
⭐️
.NET8
升级指南:http://furion.baiqian.ltd/docs/net7-to-net8 ⭐️
新特性
Db.GetNewDbContext()
多个重载方法,实现类似 new DbContext()
操作 4.8.8.55 ⏱️2023.11.09 4157629
AddConsoleFormatter
服务支持 WriteFilter
属性过滤 4.8.8.52 ⏱️2023.11.07 516acb4
LoggingMonitor
支持打印输出 requestHeaders
请求头信息 4.8.8.50 ⏱️2023.10.27 #I8BHM3:Logging Monitor 的输出能不能添加Header的内容?
L.GetDefaultCulture()
获取本地配置默认语言 4.8.8.49 ⏱️2023.10.25 !858:建议增加通过L.cs 类直接获取系统默认语言版本
[DataValidation]
支持 [Display]
和 [DisplayName]
特性设置 {0}
4.8.8.42 ⏱️2023.09.01 #I7XB3T:DataValidation是否可以支持Display
LoggingMonitor
支持配置日志输出级别 4.8.8.41 ⏱️2023.08.25 #I7SRTP:建议接口日志监控提供一个日志等级的扩展
L.GetString(name, culture)
获取指定区域翻译 4.8.8.41 ⏱️2023.08.04 044b0ed
.ConvertTo
支持自定义值提供器 4.8.8.40 ⏱️2023.08.03 70d5888
[EnumToNumber]
特性配置生成前端枚举定义代码是字符串值还是整数值类型,默认为字符串值 4.8.8.35 ⏱️2023.07.06 #I7IZ7S:Swagger 生成的接口文档枚举值问题
OnChanged
事件处理 4.8.8.29 ⏱️2023.06.25 e4c4cf1
Swagger
分组信息可在任意配置文件中通过 [openapi:分组名]
进行配置 4.8.8.26 ⏱️2023.06.20 a70eed3
TP.WrapperRectangle
绘制矩形日志模板 4.8.8.25 ⏱️2023.06.14 60ffd76
IServiceScope.CreateDefaultHttpContext
拓展方法 4.8.8.24 ⏱️2023.06.07 11a55e1
IgnoreConfigurationFiles
支持完整的文件通配符 4.8.8.22 ⏱️2023.05.25 #I78ABL:IgnoreConfigurationFiles是否能支持模糊匹配?
VisualPath
配置部署 4.8.8.20 ⏱️2023.05.18 #I740IA
LoggingMonitor
支持 Razor Pages
4.8.8.16 ⏱️2023.05.15 #I7332C:Razor Page使用services.AddMonitorLogging();监听不到System.Logging.LoggingMonitor
IJobFactory
支持 4.8.8.13 ⏱️2023.05.08 ad58dd3
AES
支持对文件(含超大文件)进行加解密 4.8.8.11 ⏱️2023.05.05 1d2265b
WebAPI
支持 text/plain
格式的 Body
参数 4.8.8.9 ⏱️2023.05.04 b49fe50
IDynamicApiRuntimeChangeProvider
接口,可在运行时动态添加 WebAPI/Controller
4.8.8.8 ⏱️2023.05.04 322ea59
Schedular.CompileCSharpClassCode(code)
支持动态编译作业处理程序代码 4.8.8.7 ⏱️2023.04.30 fe1e8a1
App.CompileCSharpClassCode(code)
动态编译类定义代码 4.8.8.7 ⏱️2023.04.30 fe1e8a1
struct
对象类型 4.8.8.7 ⏱️2023.04.30 a0fa3aa
IJob
执行异常 FallbackAsync
回退策略 4.8.8.6 ⏱️2023.04.25 7671489
IOC/DI
项目类型中使用 4.8.8.5 ⏱️2023.04.24 #I6YJNB
RSA
支持对超长字符(超 245
位)进行分段加解密 4.8.8.2 ⏱️2023.04.19 !788:【轻量级 PR】:增加RSA分段加、解密 感谢 @YaChengMu
System.Text.Json
和 Newtonsoft.Json
对粘土对象 Clay
支持 4.8.8.1 ⏱️2023.04.18 #I6WKRZ:新版本Furion中创建Clay粘土对象并作为参数在远程请求中自动序列化问题
IEnumerable<T>
类型:clay.ConvertTo<T>()
4.8.8 ⏱️2023.04.13 5d54a65
Serve.IdleHost
支持返回 http
和 https
协议 Web
地址(端口) 4.8.8 ⏱️2023.04.13 fdf7885
突破性变化
SyncRate
配置,前后端采用最新的 SSE
推送技术替代 4.8.8.29 ⏱️2023.06.25 e4c4cf1
WriteFilter
和 ConfigureLogger
的 ActionExecutingContext
和 ActionExecutedContext
类型为 FilterContext
4.8.8.16 ⏱️2023.05.15 #I7332C:Razor Page使用services.AddMonitorLogging();监听不到System.Logging.LoggingMonitor
IJsonSerializerProvider
序列化接口,添加 Deserialize
反序列化方法 4.8.8.15 ⏱️2023.05.15 !815:【轻量级 PR】:增加JSON反序列化方法 感谢 @YaChengMu
问题修复
Cookies
被截断问题 4.8.8.54 ⏱️2023.11.08 #I8EV1Z:远程请求获取cookie时,如果cookie的值含有等号会导致被截断
SSE
请求不是长连接导致连接频繁初始化销毁 4.8.8.49 ⏱️2023.10.26 1997f1b
WebAPI
不能正确移除 AppService
命名的 Service
问题 4.8.8.47 ⏱️2023.10.10 #I86NL
dynamic/JsonElement
序列化问题 4.8.8.45 ⏱️2023.09.29 #I84SD5:动态类型Monitor日志 返回ValueKind
Scoped.CreateUowAsync
作用域工作单元异常无法回滚问题 4.8.8.44 ⏱️2023.09.23 #I833I9:CreateUowAsync作用域回滚问题
Token
也能通过鉴权检查严重安全 Bug
4.8.8.42 ⏱️2023.08.28 #I7TII4:我不知道这是不是bug,还是双token本意如此
DateTime
类型参数不是本地时间问题 4.8.8.33 ⏱️2023.06.29 #I7GW32:http 请求参数中的时间参数格式在日志中如何设置为本地时间而不是用UTC时间
Cron
解析异常问题 4.8.8.32 ⏱️2023.06.28 #I7GQ5I:Crontab解析方法报错
long/int64
类型参数问题 4.8.8.31 ⏱️2023.06.28 4e2615b
int.MaxValue
时出现 ArgumentOutOfRangeException
4.8.8.27 ⏱️2023.06.21 #I7F6ZT:任务调度 Triggers.Yearly() 、甚至更大的延迟时间,导致服务无法启动
Cron
表达式步长解析器错误 4.8.8.25 ⏱️2023.06.14 #I7D9XU
ExpandoObject.ToDictionary()
转换异常 4.8.8.25 ⏱️2023.06.14 #I7BY0P:ToDictionary方法无法兼容ExpandoObject
FriendlyExceptionSettings:DefaultErrorMessage
无效问题 4.8.8.23 ⏱️2023.05.31 #I79LIG:全局异常FriendlyExceptionSettings不生效
Swagger
进行分组后 Tags
不能进行分组过滤问题 4.8.8.22 ⏱️2023.05.25 #I78A55:swagger分组后,通过swagger.json生成vue请求代理,发现swagger.json中tags把其他组的信息也列出来了。
AOP
异常拦截问题 4.8.8.17 ⏱️2023.05.15 #I73A8E:4.8.8.14升级到4.8.8.15,AOP拦截,服务类报错
WebAPI
自定义路由模板参数和自动拼接参数冲突问题 4.8.8.15 ⏱️2023.05.15 #I72ZZ2:从4.6.7升级到4.8.8.14出现报错Microsoft.AspNetCore.Routing.Patterns.RoutePatternException: The route parameter name 'id' appears more than one time in the route template.
200
状态码但实际请求已处理也抛异常问题 4.8.8.14 ⏱️2023.05.12 b14a51f
App.CompileCSharpClassCode(code)
运行时添加匿名程序集编译异常问题 4.8.8.8 ⏱️2023.05.04 322ea59
LoggingMonitor
打印泛型类型如果存在多个泛型参数问题 4.8.8.8 ⏱️2023.05.04 8d9cb74
Body
参数为粘土对象 Clay
类型序列化有误 4.8.8.1 ⏱️2023.04.18 #I6WKRZ:新版本Furion中创建Clay粘土对象并作为参数在远程请求中自动序列化问题
Serve.IdleHost
获取随机端口的本地地址带 $
符号问题 4.8.8 ⏱️2023.04.13 ed6f292
其他更改
[UnitofWork]
支持在 Class
中指定,解决 Pages
应用警告问题 4.8.8.42 ⏱️2023.09.01 #I7X51E:UnitOfWorkAttribute不支持贴在Class上,但其实现的IAsyncPageFilter要求贴在Class上
GET/HEAD
不能传递 Body
的限制 4.8.8.39 ⏱️2023.08.02 8113460
json
格式,由 int32
改为 string
4.8.8.34 ⏱️2023.07.02 #I7HOPR:Swagger 生成的接口文档枚举名丢失
Title
解析规则,不再自动添加空格 4.8.8.26 ⏱️2023.06.20 24b7a47
Component
模式支持 [DependsOn]
支持继承 4.8.8.16 ⏱️2023.05.15 #I733RF:Component不能执行继承自抽象Component上面DependsOn的组件
GC
回收逻辑,避免高频添加作业导致 尾延迟
问题 4.8.8.3 ⏱️2023.04.21 #I6XIV8:将TriggerBuilder 批量添加到 Scheduler中的时候不知为何触发GC,导致trigger不停的更新,cup使用率猛增
文档
Jwt
身份验证过程监听文档Redis
集成文档WebAPI
文档、定时任务文档、JSON
序列化文档、App
静态类文档、规范化文档、配置文档、数据库上下文文档、Db
静态类文档贡献者
新特性
LoggingMonitor
支持打印输出 requestHeaders
请求头信息 4.8.8.50 ⏱️2023.10.27 #I8BHM3:Logging Monitor 的输出能不能添加Header的内容?
L.GetDefaultCulture()
获取本地配置默认语言 4.8.8.49 ⏱️2023.10.25 !858:建议增加通过L.cs 类直接获取系统默认语言版本
Http
作业请求头 Headers
和作业分组 Group
和描述 Description
支持 4.8.8.46 ⏱️2023.10.09 #I85Z7S:增强HttpJob参数设置,详见截图
[DataValidation]
支持 [Display]
和 [DisplayName]
特性设置 {0}
4.8.8.42 ⏱️2023.09.01 #I7XB3T:DataValidation是否可以支持Display
LoggingMonitor
支持配置日志输出级别 4.8.8.41 ⏱️2023.08.25 #I7SRTP:建议接口日志监控提供一个日志等级的扩展
L.GetString(name, culture)
获取指定区域翻译 4.8.8.41 ⏱️2023.08.04 044b0ed
.ConvertTo
支持自定义值提供器 4.8.8.40 ⏱️2023.08.03 70d5888
[EnumToNumber]
特性配置生成前端枚举定义代码是字符串值还是整数值类型,默认为字符串值 4.8.8.35 ⏱️2023.07.06 #I7IZ7S:Swagger 生成的接口文档枚举值问题
OnChanged
事件处理 4.8.8.29 ⏱️2023.06.25 e4c4cf1
Swagger
分组信息可在任意配置文件中通过 [openapi:分组名]
进行配置 4.8.8.26 ⏱️2023.06.20 a70eed3
TP.WrapperRectangle
绘制矩形日志模板 4.8.8.25 ⏱️2023.06.14 60ffd76
IServiceScope.CreateDefaultHttpContext
拓展方法 4.8.8.24 ⏱️2023.06.07 11a55e1
IgnoreConfigurationFiles
支持完整的文件通配符 4.8.8.22 ⏱️2023.05.25 #I78ABL:IgnoreConfigurationFiles是否能支持模糊匹配?
VisualPath
配置部署 4.8.8.20 ⏱️2023.05.18 #I740IA
LoggingMonitor
支持 Razor Pages
4.8.8.16 ⏱️2023.05.15 #I7332C:Razor Page使用services.AddMonitorLogging();监听不到System.Logging.LoggingMonitor
IJobFactory
支持 4.8.8.13 ⏱️2023.05.08 ad58dd3
AES
支持对文件(含超大文件)进行加解密 4.8.8.11 ⏱️2023.05.05 1d2265b
WebAPI
支持 text/plain
格式的 Body
参数 4.8.8.9 ⏱️2023.05.04 b49fe50
IDynamicApiRuntimeChangeProvider
接口,可在运行时动态添加 WebAPI/Controller
4.8.8.8 ⏱️2023.05.04 322ea59
Schedular.CompileCSharpClassCode(code)
支持动态编译作业处理程序代码 4.8.8.7 ⏱️2023.04.30 fe1e8a1
App.CompileCSharpClassCode(code)
动态编译类定义代码 4.8.8.7 ⏱️2023.04.30 fe1e8a1
struct
对象类型 4.8.8.7 ⏱️2023.04.30 a0fa3aa
IJob
执行异常 FallbackAsync
回退策略 4.8.8.6 ⏱️2023.04.25 7671489
IOC/DI
项目类型中使用 4.8.8.5 ⏱️2023.04.24 #I6YJNB
RSA
支持对超长字符(超 245
位)进行分段加解密 4.8.8.2 ⏱️2023.04.19 !788:【轻量级 PR】:增加RSA分段加、解密 感谢 @YaChengMu
System.Text.Json
和 Newtonsoft.Json
对粘土对象 Clay
支持 4.8.8.1 ⏱️2023.04.18 #I6WKRZ:新版本Furion中创建Clay粘土对象并作为参数在远程请求中自动序列化问题
IEnumerable<T>
类型:clay.ConvertTo<T>()
4.8.8 ⏱️2023.04.13 5d54a65
Serve.IdleHost
支持返回 http
和 https
协议 Web
地址(端口) 4.8.8 ⏱️2023.04.13 fdf7885
突破性变化
SyncRate
配置,前后端采用最新的 SSE
推送技术替代 4.8.8.29 ⏱️2023.06.25 e4c4cf1
WriteFilter
和 ConfigureLogger
的 ActionExecutingContext
和 ActionExecutedContext
类型为 FilterContext
4.8.8.16 ⏱️2023.05.15 #I7332C:Razor Page使用services.AddMonitorLogging();监听不到System.Logging.LoggingMonitor
IJsonSerializerProvider
序列化接口,添加 Deserialize
反序列化方法 4.8.8.15 ⏱️2023.05.15 !815:【轻量级 PR】:增加JSON反序列化方法 感谢 @YaChengMu
问题修复
SSE
请求不是长连接导致连接频繁初始化销毁 4.8.8.49 ⏱️2023.10.26 1997f1b
WebAPI
不能正确移除 AppService
命名的 Service
问题 4.8.8.47 ⏱️2023.10.10 #I86NL
dynamic/JsonElement
序列化问题 4.8.8.45 ⏱️2023.09.29 #I84SD5:动态类型Monitor日志 返回ValueKind
Scoped.CreateUowAsync
作用域工作单元异常无法回滚问题 4.8.8.44 ⏱️2023.09.23 #I833I9:CreateUowAsync作用域回滚问题
Token
也能通过鉴权检查严重安全 Bug
4.8.8.42 ⏱️2023.08.28 #I7TII4:我不知道这是不是bug,还是双token本意如此
DateTime
类型参数不是本地时间问题 4.8.8.33 ⏱️2023.06.29 #I7GW32:http 请求参数中的时间参数格式在日志中如何设置为本地时间而不是用UTC时间
Cron
解析异常问题 4.8.8.32 ⏱️2023.06.28 #I7GQ5I:Crontab解析方法报错
long/int64
类型参数问题 4.8.8.31 ⏱️2023.06.28 4e2615b
int.MaxValue
时出现 ArgumentOutOfRangeException
4.8.8.27 ⏱️2023.06.21 #I7F6ZT:任务调度 Triggers.Yearly() 、甚至更大的延迟时间,导致服务无法启动
Cron
表达式步长解析器错误 4.8.8.25 ⏱️2023.06.14 #I7D9XU
ExpandoObject.ToDictionary()
转换异常 4.8.8.25 ⏱️2023.06.14 #I7BY0P:ToDictionary方法无法兼容ExpandoObject
FriendlyExceptionSettings:DefaultErrorMessage
无效问题 4.8.8.23 ⏱️2023.05.31 #I79LIG:全局异常FriendlyExceptionSettings不生效
Swagger
进行分组后 Tags
不能进行分组过滤问题 4.8.8.22 ⏱️2023.05.25 #I78A55:swagger分组后,通过swagger.json生成vue请求代理,发现swagger.json中tags把其他组的信息也列出来了。
AOP
异常拦截问题 4.8.8.17 ⏱️2023.05.15 #I73A8E:4.8.8.14升级到4.8.8.15,AOP拦截,服务类报错
WebAPI
自定义路由模板参数和自动拼接参数冲突问题 4.8.8.15 ⏱️2023.05.15 #I72ZZ2:从4.6.7升级到4.8.8.14出现报错Microsoft.AspNetCore.Routing.Patterns.RoutePatternException: The route parameter name 'id' appears more than one time in the route template.
200
状态码但实际请求已处理也抛异常问题 4.8.8.14 ⏱️2023.05.12 b14a51f
App.CompileCSharpClassCode(code)
运行时添加匿名程序集编译异常问题 4.8.8.8 ⏱️2023.05.04 322ea59
LoggingMonitor
打印泛型类型如果存在多个泛型参数问题 4.8.8.8 ⏱️2023.05.04 8d9cb74
Body
参数为粘土对象 Clay
类型序列化有误 4.8.8.1 ⏱️2023.04.18 #I6WKRZ:新版本Furion中创建Clay粘土对象并作为参数在远程请求中自动序列化问题
Serve.IdleHost
获取随机端口的本地地址带 $
符号问题 4.8.8 ⏱️2023.04.13 ed6f292
其他更改
[UnitofWork]
支持在 Class
中指定,解决 Pages
应用警告问题 4.8.8.42 ⏱️2023.09.01 #I7X51E:UnitOfWorkAttribute不支持贴在Class上,但其实现的IAsyncPageFilter要求贴在Class上
GET/HEAD
不能传递 Body
的限制 4.8.8.39 ⏱️2023.08.02 8113460
json
格式,由 int32
改为 string
4.8.8.34 ⏱️2023.07.02 #I7HOPR:Swagger 生成的接口文档枚举名丢失
Title
解析规则,不再自动添加空格 4.8.8.26 ⏱️2023.06.20 24b7a47
Component
模式支持 [DependsOn]
支持继承 4.8.8.16 ⏱️2023.05.15 #I733RF:Component不能执行继承自抽象Component上面DependsOn的组件
GC
回收逻辑,避免高频添加作业导致 尾延迟
问题 4.8.8.3 ⏱️2023.04.21 #I6XIV8:将TriggerBuilder 批量添加到 Scheduler中的时候不知为何触发GC,导致trigger不停的更新,cup使用率猛增
文档
Jwt
身份验证过程监听文档Redis
集成文档WebAPI
文档、定时任务文档、JSON
序列化文档、App
静态类文档、规范化文档、配置文档贡献者