登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
轻量养虾,开箱即用!低 Token + 稳定算力,Gitee & 模力方舟联合出品的 PocketClaw 正式开售!点击了解详情
代码拉取完成,页面将自动刷新
开源项目
>
WEB应用开发
>
Web开发框架
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
9.9K
Star
14.5K
Fork
4.2K
GVP
dotNET China
/
Furion
代码
Issues
0
Pull Requests
0
统计
流水线
服务
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
开发画像分析
我知道了,不再自动展开
更新失败,请稍后重试!
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
📝 发布 Furion v4.6.4 版本
已完成
#I5VIAQ
百小僧
拥有者
创建于
2022-10-13 14:12
### 功能描述 发布 `Furion` 和 `Furion.Tools` 和 `Furion.Xunit` `v4.6.4` 版本 包含以下功能更新: ### 功能清单 - [x] 调整**事件总线触发处理程序的逻辑,由过去的 `foreach` 改为 `Parallel.ForEach`,吞吐量提升近 4 倍** <sup>4.6.4</sup> [7384c9c](https://gitee.com/dotnetchina/Furion/commit/7384c9c3efb94883421379828565e61870f1640c) - [x] 移除**远程请求 `.SetTimeout` 和 `[Timeout]` 配置方法,采用全局统一配置** <sup>4.6.4</sup> [7384c9c](https://gitee.com/dotnetchina/Furion/commit/7384c9c3efb94883421379828565e61870f1640c) - [x] 优化远程请求性能,添加复用池的机制,避免频繁销毁创建 <sup>4.6.4</sup> [7384c9c](https://gitee.com/dotnetchina/Furion/commit/7384c9c3efb94883421379828565e61870f1640c) - [x] 发布 `v4.6.4` 版本文档 - [x] 更新示例项目 `samples` 依赖至 `v4.6.4` 版本 - [x] [Replit](https://replit.com/) 网站 `Furion` 案例同步到 `v4.6.4` 版本 - [x] `Gitee` 和 `Github` 发布 `Release-v4.6.4` 版本 - [x] 同步更新日志 ### 代码实现 [https://gitee.com/dotnetchina/Furion/pulls/620](https://gitee.com/dotnetchina/Furion/pulls/620) [https://gitee.com/dotnetchina/Furion/commit/7384c9c3efb94883421379828565e61870f1640c](https://gitee.com/dotnetchina/Furion/commit/7384c9c3efb94883421379828565e61870f1640c) ### 文档更新 1. 配置远程请求 `Timeout` 默认情况下,`HttpClient` 请求超时时间为 `100秒`,可根据实际情况进行设置: ```cs showLineNumbers {4,10} // 配置默认 HttpClient options.AddHttpClient(string.Empty, c => { c.Timeout = TimeSpan.FromMinutes(2); }); // 配置特定客户端 options.AddHttpClient("github", c => { c.Timeout = TimeSpan.FromMinutes(2); }); ``` 2. 配置远程请求客户端生存周期 每次对 `IHttpClientFactory` 调用 `CreateClient` 都会返回一个新 `HttpClient` 实例。 每个命名客户端都创建一个 `HttpMessageHandler`。 工厂管理 `HttpMessageHandler` 实例的生存期。 `IHttpClientFactory` 将工厂创建的 `HttpMessageHandler` 实例汇集到池中,以减少资源消耗。 新建 `HttpClient` 实例时,可能会重用池中的 `HttpMessageHandler` 实例(如果生存期尚未到期的话)。 处理程序的默认生存期为**两分钟**。 可在每个命名客户端上重写默认值: ```cs showLineNumbers {3,7} // 配置默认 HttpClient options.AddHttpClient(string.Empty, c => { ... }) .SetHandlerLifetime(TimeSpan.FromMinutes(5)); // 配置特定客户端 options.AddHttpClient("github", c => { ... }) .SetHandlerLifetime(TimeSpan.FromMinutes(5)); ``` 3. 使用远程请求默认证书 在一些情况下,可直接使用默认证书即可解决问题,如: ```cs showLineNumbers {5,7-8,13,15-16} services.AddRemoteRequest(options=> { // 默认 HttpClient 在 Furion 框架内部已经配置了该操作 options.AddHttpClient(string.Empty) .ConfigurePrimaryHttpMessageHandler(u => new HttpClientHandler { AllowAutoRedirect = true, UseDefaultCredentials = true }); // 配置特定客户端 options.AddHttpClient("github", c => { /*其他配置*/ }) .ConfigurePrimaryHttpMessageHandler(u => new HttpClientHandler { AllowAutoRedirect = true, UseDefaultCredentials = true }); }); ``` ### 其他说明  
### 功能描述 发布 `Furion` 和 `Furion.Tools` 和 `Furion.Xunit` `v4.6.4` 版本 包含以下功能更新: ### 功能清单 - [x] 调整**事件总线触发处理程序的逻辑,由过去的 `foreach` 改为 `Parallel.ForEach`,吞吐量提升近 4 倍** <sup>4.6.4</sup> [7384c9c](https://gitee.com/dotnetchina/Furion/commit/7384c9c3efb94883421379828565e61870f1640c) - [x] 移除**远程请求 `.SetTimeout` 和 `[Timeout]` 配置方法,采用全局统一配置** <sup>4.6.4</sup> [7384c9c](https://gitee.com/dotnetchina/Furion/commit/7384c9c3efb94883421379828565e61870f1640c) - [x] 优化远程请求性能,添加复用池的机制,避免频繁销毁创建 <sup>4.6.4</sup> [7384c9c](https://gitee.com/dotnetchina/Furion/commit/7384c9c3efb94883421379828565e61870f1640c) - [x] 发布 `v4.6.4` 版本文档 - [x] 更新示例项目 `samples` 依赖至 `v4.6.4` 版本 - [x] [Replit](https://replit.com/) 网站 `Furion` 案例同步到 `v4.6.4` 版本 - [x] `Gitee` 和 `Github` 发布 `Release-v4.6.4` 版本 - [x] 同步更新日志 ### 代码实现 [https://gitee.com/dotnetchina/Furion/pulls/620](https://gitee.com/dotnetchina/Furion/pulls/620) [https://gitee.com/dotnetchina/Furion/commit/7384c9c3efb94883421379828565e61870f1640c](https://gitee.com/dotnetchina/Furion/commit/7384c9c3efb94883421379828565e61870f1640c) ### 文档更新 1. 配置远程请求 `Timeout` 默认情况下,`HttpClient` 请求超时时间为 `100秒`,可根据实际情况进行设置: ```cs showLineNumbers {4,10} // 配置默认 HttpClient options.AddHttpClient(string.Empty, c => { c.Timeout = TimeSpan.FromMinutes(2); }); // 配置特定客户端 options.AddHttpClient("github", c => { c.Timeout = TimeSpan.FromMinutes(2); }); ``` 2. 配置远程请求客户端生存周期 每次对 `IHttpClientFactory` 调用 `CreateClient` 都会返回一个新 `HttpClient` 实例。 每个命名客户端都创建一个 `HttpMessageHandler`。 工厂管理 `HttpMessageHandler` 实例的生存期。 `IHttpClientFactory` 将工厂创建的 `HttpMessageHandler` 实例汇集到池中,以减少资源消耗。 新建 `HttpClient` 实例时,可能会重用池中的 `HttpMessageHandler` 实例(如果生存期尚未到期的话)。 处理程序的默认生存期为**两分钟**。 可在每个命名客户端上重写默认值: ```cs showLineNumbers {3,7} // 配置默认 HttpClient options.AddHttpClient(string.Empty, c => { ... }) .SetHandlerLifetime(TimeSpan.FromMinutes(5)); // 配置特定客户端 options.AddHttpClient("github", c => { ... }) .SetHandlerLifetime(TimeSpan.FromMinutes(5)); ``` 3. 使用远程请求默认证书 在一些情况下,可直接使用默认证书即可解决问题,如: ```cs showLineNumbers {5,7-8,13,15-16} services.AddRemoteRequest(options=> { // 默认 HttpClient 在 Furion 框架内部已经配置了该操作 options.AddHttpClient(string.Empty) .ConfigurePrimaryHttpMessageHandler(u => new HttpClientHandler { AllowAutoRedirect = true, UseDefaultCredentials = true }); // 配置特定客户端 options.AddHttpClient("github", c => { /*其他配置*/ }) .ConfigurePrimaryHttpMessageHandler(u => new HttpClientHandler { AllowAutoRedirect = true, UseDefaultCredentials = true }); }); ``` ### 其他说明  
评论 (
3
)
登录
后才可以发表评论
状态
已完成
待办的
进行中
已完成
已关闭
负责人
未设置
百小僧
monksoul
负责人
协作者
+负责人
+协作者
标签
优化
新功能
重大调整
未设置
标签管理
里程碑
v4.6.4
未关联里程碑
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
分支 (
-
)
标签 (
-
)
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
参与者(2)
C#
1
https://gitee.com/dotnetchina/Furion.git
git@gitee.com:dotnetchina/Furion.git
dotnetchina
Furion
Furion
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册