项目信息
![]()
选择 Furion 的十大理由
- 你们公司招聘的
.NET 架构师绝大概率没有 百小僧 牛逼(别杠)。
- 百小僧 全天候待命,只要确认
Bug,当天修复,当天发版。
Nuget 总下载量超 560万,坑洼前人早就躺过,你不是一个人在战斗。
- 超
280万 字的保姆级使用手册,”保温杯里泡枸杞“ 的养生法(护发)你不需要。
- 程序员上岗无需培训,直接丢文档了事,实习生来了都可以扛大旗。
- MIT 开源协议,商用无猫腻,超高质量的源码,可做企业内部框架。
- 底层核心无第三方依赖,应用层仅依赖了两个第三方包,功能自主可控。
- 框架 持续创新迭代,精益求精,为软件系统开发维护保驾护航。
- 超
230位 开发者贡献代码和文档,国内 .NET 开源项目仅此一份。
选择 Furion 还需要理由吗?
Furion 已经持续迭代跨了 4 个年头(2020,2021,2022,2023),发布的版本超 700 个:查看日志
还是那句话:只有中国人才懂中国人,选来选去还是 Furion 好用。
您的痛点,Furion 已阅已历;Furion 的惊喜,您且慢慢享受。
时间不等人,市场不等人,与其选择新的框架,不如选择成熟稳定且持续迭代的框架。
成熟,稳定,高效是企业及开发者的首要选择,Furion 已具备这个条件。👍
本期亮点
1. 定时任务看板改进运行日志
![]()
2. Swagger 文档支持复制路由地址
![]()
3. 改进视图引擎,支持匿名类型,支持顶级命名空间
匿名类型
var result = _viewEngine.RunCompile(@"
Hello @Model.Name
@foreach(var item in Model.Items)
{
<p>@item</p>
}
", new
{
Name = "Furion",
Items = new[] { 3, 1, 2 }
});
顶级命名空间
public class TestModel
{
public string Name { get; set; }
public int[] Items { get; set; }
}
var result = _viewEngine.RunCompile(@"
Hello @Model.Name
@foreach(var item in Model.Items)
{
<p>@item</p>
}
", new TestModel
{
Name = "Furion",
Items = new[] { 3, 1, 2 }
});
4. 动态 WebAPI 支持 [ActionName] 和 [HttpMethod(Name = "")] 指定路由路径
using Furion.DynamicApiController;
namespace Furion.Application;
[ApiDescriptionSettings(Name = "MyFur")]
public class FurionAppService : IDynamicApiController
{
[ApiDescriptionSettings(Name = "MyGet")]
public string Get()
{
return nameof(Furion);
}
[ActionName("MyTest")] // Furion 4.8.4.12+ 支持
public string Test()
{
return nameof(Furion);
}
[HttpGet(Name = "MyTest")] // Furion 4.8.4.12+ 支持,此配置有效的前提是控制器贴有 [Route] 特性
public string Test2()
{
return nameof(Furion);
}
}
本期更新
https://furion.baiqian.ltd/docs/upgrade
- [新增] 定时任务
Dashboard 看板 4.8.4 ⏱️2022.12.30 d3f9669
- [移除] 旧版本定时任务模块所有功能代码,请尽快迁移到新版本 d9dc9e4
- [新增] 视图引擎支持无命名空间的强类型 4.8.4.16 ⏱️2023.01.15 #I6ABN3 076bb17
- [新增] 视图引擎支持匿名类型模型带集合类型属性
@foreach 遍历 4.8.4.15 ⏱️2023.01.13 #I6A7SI
- [新增]
Swagger 支持复制路由地址功能 4.8.4.13 ⏱️2023.01.11 #I5VNJI
- [新增] 动态
WebAPI 方法支持通过 [ActionName(名称)] 和 [HttpMethod(Name=名称)] 指定路由名称 4.8.4.12 ⏱️2023.01.10 #I69AOJ f699540
- [新增]
BadPageResult.Status401Unauthorized 等常见状态码 401,403,404,500 静态属性 4.8.4.11 ⏱️2023.01.09 #I69KQF
- [新增]
crontab.GetSleepTimeSpan(baseTime) 实例方法 4.8.4.10 ⏱️2023.01.09 #I69HM4
- [新增]
Enqueue/EnqueueAsync 支持 Cron 表达式 实例重载方法 4.8.4.10 ⏱️2023.01.09 #I69HM4
- [新增]
*.bcmap 和 .properties 文件类型 MIME 支持 4.8.4.9 ⏱️2023.01.06 !694
- [新增] 定时任务
Dashboard 查看作业触发器最近运行记录功能 4.8.4.3 ⏱️2023.01.03 e7d24d8
- [新增] 定时任务作业触发器
trigger.GetTimelines() 获取最近 10 条运行记录列表 4.8.4.3 ⏱️2023.01.03 e7d24d8
- [新增] 定时任务
IScheduler.GetEnumerable() 方法,可将作业计划转换成可枚举字典 4.8.4 ⏱️2022.12.30 4d5235c
- [修复] 定时任务
StartAll 出现个别作业显示 无触发时间 的状态 4.8.4.14 ⏱️2023.01.12 #I6A08X
- [修复] 动态
WebAPI 配置 [Consumes] 特性后 Swagger 不显示问题 4.8.4.12 ⏱️2023.01.10 daf25f8
- [修复] 定时任务停止作业触发器后运行记录不能写入最新记录问题 4.8.4.8 ⏱️2023.01.05 d4c553f
- [修复] 数据库日志注册在一些特殊情况下丢失日志上下文问题 4.8.4.6 ⏱️2023.01.04 #I68PDF
- [修复] 远程请求配置
WithEncodeUrl(false) 对 application/x-www-form-urlencoded 请求类型无效 4.8.4 ⏱️2022.12.30 #I682DX
- [修复] 在类中贴
[SuppressMonitor] 特性但 LoggingMonitor 依然输出问题 4.8.4 ⏱️2022.12.30 #I6882I
- [修复] 定时任务使用
Furion.Pure 包访问 Dashboard 出现 404 问题 4.8.4.2 ⏱️2023.01.02 21977b7
- [优化] 任务队列同步调用代码 79884ff
- [升级]
SqlSugarCore 拓展包及脚手架至 v5.1.3.45 版本
- [发布]
v4.8.4 版本文档
- [更新] 示例项目
samples 依赖至 v4.8.4 版本
- [同步] Replit 网站
Furion 案例至 v4.8.4 版本
- [发布]
Gitee 和 Github Release-v4.8.4 版本
- [同步] 更新日志