Furion – 基于.NET的免费开源AI开发框架
Furion是什么
Furion 是基于 .NET 的免费开源开发框架,简化开发流程,提高开发效率。支持多种运行环境,包括 Windows、Linux、Mac OS 和 Docker,适用于开发 Web API、Web 应用、移动应用等多种类型的应用程序。Furion 的核心特点是轻量级、高性能和易于使用。通过极简的设计理念,让开发者能快速上手,仅需通过简单的Inject()
方法可完成大部分配置。Furion 内置丰富的企业级功能,如动态 Web API、权限管理、数据库操作等,极大地减少了开发工作量。框架的架构设计灵活,能轻松应对复杂多变的需求,便于长期维护。Furion 提供完善的开发文档和丰富的学习资源,包括在线教程和视频,帮助开发者快速掌握使用方法。Furion 的开源地址包括 Gitee 和 GitHub,开发者可以自由下载、使用和贡献代码。

Furion的主要功能
- 动态 Web API:Furion 提供了强大的动态 Web API 功能,开发者无需手动编写大量代码即可自动生成 API 接口。支持自动路由、自动参数绑定、自动返回结果等功能,极大地简化了 Web API 的开发流程。
- 依赖注入扩展:Furion 基于 .NET 的依赖注入(DI)机制,提供了更灵活的扩展功能。支持通过简单的
Inject()
方法快速注册服务,兼容 .NET 原生的依赖注入方式。 - 数据库操作:Furion 内置强大的数据库操作功能,支持多种数据库(如 SQL Server、MySQL、PostgreSQL 等)。提供了 Entity Framework Core 的扩展功能,支持动态 SQL 查询、分页查询、批量操作等。
- 权限管理:Furion 提供通用的权限管理功能,支持角色、用户、权限的动态管理。可以通过简单的配置实现基于角色的访问控制(RBAC),支持动态权限校验。
- 多租户支持:Furion 支持多租户架构,可轻松实现不同租户之间的数据隔离。开发者可以通过简单的配置和代码实现多租户功能,满足企业级应用的需求。
- 文件上传与下载:Furion 提供文件上传和下载的便捷功能,支持本地存储和云存储(如阿里云 OSS、腾讯云 COS 等)。支持文件分片上传、断点续传等功能。
- 日志管理:Furion 内置了日志管理功能,支持多种日志框架(如 Serilog、NLog 等)。可以方便地记录应用运行时的日志信息,便于问题排查和性能监控。
- 任务调度:Furion 提供了任务调度功能,支持定时任务和异步任务。开发者可以轻松定义和管理任务,实现定时执行或后台处理。
- 国际化支持:Furion 支持多语言国际化,可方便地实现应用的多语言切换。支持通过资源文件或数据库存储国际化内容。
- 代码生成器:Furion 提供代码生成器功能,可以根据数据库表结构自动生成代码。支持生成实体类、API 接口代码、数据库操作代码等,极大提高了开发效率。
- 中间件支持:Furion 支持自定义中间件,开发者可以根据需求扩展应用的功能。提供了中间件的注册和管理机制,方便实现如请求拦截、响应处理等功能。
- 微服务支持:Furion 提供了微服务架构的支持,可以方便地实现服务拆分和服务发现。支持通过 Consul、Etcd 等服务注册中心进行服务管理。
Furion的官网地址
- 官网地址:https://furion.net/
如何使用Furion
- 环境准备:确保安装了最新版本的 .NET SDK 和 Visual Studio(推荐使用 Visual Studio 2019 或更高版本)。
- 创建项目
- 使用命令行工具:安装 Furion 项目模板:
dotnet new install Furion.Template.Api
-
创建项目:
dotnet new furionapi -n MyFurionWebApi
-
使用 Visual Studio:
- 打开 Visual Studio,点击“创建新项目”。
- 在模板中选择“Furion WebAPI 模板”,配置项目名称和路径,然后点击“创建”。
- 使用命令行工具:安装 Furion 项目模板:
- 添加 Furion 依赖:通过 NuGet 安装 Furion 框架及其相关依赖包。在项目中运行以下命令:
dotnet add package Furion
- 或者在 Visual Studio 的 NuGet 包管理器中搜索并安装。
- 配置 Furion:在
Program.cs
文件中,添加Inject()
方法以启用 Furion 功能:using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; namespace FurionStart { public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => webBuilder .Inject() // 添加这一行 .UseStartup<Startup>()); } }
-
在
Startup.cs
文件中,添加AddInject()
和UseInject()
:public void ConfigureServices(IServiceCollection services) { services.AddControllers().AddInject(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.UseInject(); // 添加这一行 app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }
-
在
- 编写第一个 API:创建一个服务类并使用
[DynamicApiController]
特性或实现IDynamicApiController
接口来定义动态 API:
using Furion.DynamicApiController;
namespace MyFurionWebApi.Application
{
[DynamicApiController]
public class HelloService
{
public string SayHello(string name)
{
return $"Hello, {name}";
}
}
}
- 启动项目后,可以通过访问
/api/HelloService/SayHello?name=Kimi
来调用该接口。 - 更多功能
- 数据库操作:通过 Furion 的数据库扩展功能,可以快速实现增删改查操作。
- 权限管理:使用 Furion 的权限管理功能,可以轻松实现基于角色的访问控制。
- 任务调度:通过 Furion 的任务调度功能,可以定义和管理定时任务。
- 运行项目:运行项目后,Furion 默认会启动一个 Web 服务器,并通过 Swagger 提供 API 文档和测试界面。
Furion的应用场景
- 企业管理与信息化:Furion 广泛应用于企业管理领域,如客户关系管理(CRM)、项目管理、人力资源管理等。通过 Furion 的低代码平台和 AI 协同工作,企业可以快速搭建管理系统,实现客户信息录入、跟进记录、销售分析等功能。
- 制造业与工业:在制造业中,Furion 用于设备管理、生产调度、供应链管理等场景。通过与 AI 技术结合,Furion 可以实现设备状态实时监控、数据分析和故障预测,帮助工厂降低设备故障率和维修成本。
- 电商与金融:Furion 框架支持跨平台部署,适用于电商、金融等行业的微服务场景。例如,YShop 是基于 Furion + Vue 开发的移动电商项目。
- 教育与在线学习:Furion 开发在线教育系统,如在线考试系统、学习管理系统等。可以快速搭建支持多种功能,如考试管理、成绩统计、学习进度跟踪等。
- 微服务架构:Furion 是高效的微服务框架,支持依赖注入、API 网关等功能,能简化微服务的开发和运维。动态 API 控制器功能适用于快速迭代的项目和对 API 灵活性要求较高的场景。