让.NET 开发更简单,更通用,更流行的开发框架(.net主流开发框架)

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个让.NET 开发更简单,更通用,更流行的项目——Furion。

让.NET 开发更简单,更通用,更流行的开发框架(.net主流开发框架)

Furion是一个基于 .NET5/6 平台的应用程序框架,您可以将它集成到任何 .NET/C# 应用程序中。

Furion具有以下特点:

  • 全新面貌:基于 .NET5/6 平台,没有历史包袱
  • 极少依赖:框架只依赖两个第三方包
  • 极易入门:只需要一个 Inject() 即可完成配置
  • 极速开发:内置丰富的企业应用开发功能
  • 极其灵活:轻松面对多变复杂的需求
  • 极易维护:采用独特的架构思想,只为长久维护设计
  • 完整文档:提供完善的开发文档
  • 跨全平台:支持所有主流操作系统及 .NET 全部项目类型

功能模块

让.NET 开发更简单,更通用,更流行的开发框架(.net主流开发框架)

框架依赖

Furion 为了追求极速入门,极致性能,尽可能地不使用或减少第三方依赖。目前 Furion 仅集成了以下两个依赖:

  • MiniProfiler:性能分析和监听必备
  • Swashbuckle:Swagger 接口文档

麻雀虽小五脏俱全。Furion 即使只集成了这两个依赖,但是主流的 依赖注入/控制反转AOP 面向切面编程,事件总线数据验证数据库操作 等等一个都不少。

环境要求

  • Visual Studio 2019 16.8
  • .NET 5 SDK
  • .Net Standard 2.1

支持平台

  • 运行环境

让.NET 开发更简单,更通用,更流行的开发框架(.net主流开发框架)

  • 数据库

让.NET 开发更简单,更通用,更流行的开发框架(.net主流开发框架)

  • 应用部署

让.NET 开发更简单,更通用,更流行的开发框架(.net主流开发框架)

关于性能

Furion 目前采用 Visual Studio 2019 16.8 自带性能测试JMeter 进行测试,由于篇幅有限,只贴部分测试图,测试结果如下:

让.NET 开发更简单,更通用,更流行的开发框架(.net主流开发框架)

简单使用

入门条件:对 .NET Core/ASP.NET Core 有一定基础了解,还未接触的可先看 ASP.NET Core 基础知识 | Microsoft Docs

1. 创建 Web 项目

环境要求:使用 Furion 之前先确保安装了最新的 .NET 5 SDK 并升级 Visual Studio 2019 至最新版。

创建 ASP.NET Core Web 应用程序:

  • 打开 Visual Studio 2019 并创建 Web 项目

让.NET 开发更简单,更通用,更流行的开发框架(.net主流开发框架)

  • 配置项目名称

让.NET 开发更简单,更通用,更流行的开发框架(.net主流开发框架)

  • 选择 WebAPI 项目

让.NET 开发更简单,更通用,更流行的开发框架(.net主流开发框架)

特别注意:Furion 已经内置了 Swagger 规范化库,所以创建时无需勾选 Enable OpenAPI support 选项。否则提示版本不一致产生冲突。

2. 添加 Furion 依赖包

让.NET 开发更简单,更通用,更流行的开发框架(.net主流开发框架)

3. Furion 基本配置

  • Program.cs 添加 Inject()

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 中添加两个 Inject()

using Microsoft.AspNetCore.Builder;using Microsoft.AspNetCore.Hosting;using Microsoft.Extensions.Configuration;using Microsoft.Extensions.DependencyInjection;using Microsoft.Extensions.Hosting;namespace FurionStart{ public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } public void ConfigureServices(IServiceCollection services) { services.AddControllers().AddInject(); // 添加 AddInject(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); // 添加这一行,如果是 MVC和API共存项目,无需添加 string.Empty app.UseInject(string.Empty); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); } }}

提示:如果 app.UseInject() 不输入参数,则默认地址为 /api,如果输入 string.Empty 则为 / 目录。如果输入任意字符串,则为 /任意字符串 目录。

4. 启动浏览器

启动浏览器查看效果。

让.NET 开发更简单,更通用,更流行的开发框架(.net主流开发框架)

更多内容大家可自行前往阅读。

开源地址:https://gitee.com/dotnetchina/Furion

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年5月5日 上午8:37
下一篇 2023年5月5日 上午8:52

相关推荐

  • 低代码开发工具的设计

    低代码开发工具的设计是一种新兴的软件开发方法,它旨在帮助开发人员快速构建应用程序,减少繁琐的编码工作。这种工具的设计理念是通过提供可视化的界面和预定义的组件,使开发人员能够以更高效…

    科研百科 2024年3月1日
    136
  • pm9项目管理系统怎么使用

    项目管理系统是一种用于管理项目的工具,能够帮助团队成员更好地协作,提高项目的效率和质量。今天,我将介绍如何使用 PM9 项目管理系统。 首先,你需要安装 PM9 项目管理系统。你可…

    科研百科 2025年1月24日
    0
  • 本科生搞科研项目

    本科生搞科研项目 随着高等教育的发展,越来越多的本科生开始参与科研项目。作为一项具有挑战性和趣味性的科研活动,本科生搞科研项目可以为他们的学业和职业生涯打下坚实的基础。本文将探讨本…

    科研百科 2天前
    1
  • 墨尔本大学项目管理

    墨尔本大学项目管理 墨尔本大学项目管理专业是澳大利亚最知名的项目管理专业之一。该专业旨在培养具有高度责任感和领导能力的项目经理,为客户提供最佳的项目管理解决方案。 墨大项目管理专业…

    科研百科 2024年5月26日
    86
  • 电力企业项目管理系统

    电力企业项目管理系统 电力企业项目管理系统是一种用于管理电力企业项目的软件系统,能够帮助电力企业更好地组织和管理项目,提高项目效率和质量。本文将介绍电力企业项目管理系统的功能和优势…

    科研百科 2025年1月20日
    0
  • 中国造价工程管理系统排名(中国造价工程管理系统)

    中国造价工程管理系统:提高效率,降低成本 随着现代建筑行业的不断发展,中国造价工程管理系统成为了必不可少的工具。这一系统可以帮助建筑企业更好地管理项目的成本,提高生产效率,降低成本…

    科研百科 2024年6月2日
    74
  • 华昆工程管理咨询荣获C1TV中国·建设工程造价咨询百强品牌(华昆工程管理咨询有限公司)

    C1TV中国·建设品牌强国工程 C1TV中国·建设品牌强国工程发布了第一份建设品牌竞争力指数-建设工程造价咨询品牌竞争力指数。 为讲好中国建设品牌故事,C1TV中国·建设第一传媒联…

    2022年6月25日
    330
  • 管理系统毕设项目有哪些

    管理系统毕设项目有哪些 管理系统是软件开发中不可或缺的一部分,其目的是帮助组织实现更高效、更有条理的管理流程。在软件开发领域,管理系统的毕设项目是一个常见的项目类型,许多学生都会选…

    科研百科 2025年1月21日
    0
  • 抓实抓好基层党建(抓实抓好基层党建工作)

    “一分部署,九分落实”。基层党建工作“千头万绪”,最根本、最关键、最牢靠的是抓好落实。不落实、不见效,再好的政策也是“墙上画饼”,再好的措施也是“镜花水月”,再好的目标也是“海市蜃…

    科研百科 2023年1月21日
    282
  • 客户关系管理应用篇

    客户关系管理应用篇 客户关系管理(CRM)是一种用于跟踪和管理与客户互动的软件系统。它旨在提高客户满意度,增加销售额和利润,并帮助企业更好地了解客户需求和行为。随着数字化时代的到来…

    科研百科 2024年10月1日
    18