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

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

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

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

Furion具有以下特点:

  • 全新面貌:基于 .NET5/6 平台,没有历史包袱

  • 极少依赖:框架只依赖两个第三方包

  • 极易入门:只需要一个 Inject() 即可完成配置

  • 极速开发:内置丰富的企业应用开发功能

  • 极其灵活:轻松面对多变复杂的需求

  • 极易维护:采用独特的架构思想,只为长久维护设计

  • 完整文档:提供完善的开发文档

  • 跨全平台:支持所有主流操作系统及 .NET 全部项目类型

功能模块

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

框架依赖

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

  • MiniProfiler:性能分析和监听必备

  • Swashbuckle:Swagger 接口文档

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

环境要求

  • Visual Studio 2019 16.8 +

  • .NET 5 SDK +

  • .Net Standard 2.1 +

支持平台

  • 运行环境

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


  • 数据库

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

  • 应用部署

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

关于性能

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

让.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 开发更简单,更通用,更流行的开发框架

  • 选择 WebAPI 项目

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

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

2、添加 Furion 依赖包

让.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、启动浏览器

启动浏览器查看效果。


—END—

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


原文始发于微信公众号(开源技术专栏):让.NET 开发更简单,更通用,更流行的开发框架

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

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/53851.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!