一、什么是Furion框架?
Furion是一款基于ASP.NET Core的快速开发框架,完全兼容ASP.NET Core的生态系统,并通过封装和优化提高生产效率。它提供的功能非常丰富,包括但不限于依赖注入、中间件管道、API文档、SwaggerUI、API监视器、日志、配置、Redis、MongoDB以及SqlSugar等常用的开发工具。
相比于其他框架,Furion框架具有更好的性能、更高的可读性和更短的学习曲线,让我们可以更轻松地构建出高性能Web应用程序。
二、Furion框架的优势
1、提高开发效率。
	public class SqlSugarContext : IDbContext<SqlSugarClient>
	{
	    public SqlSugarClient Master { get; set; }
	    public SqlSugarClient Slave { get; set; }
	    public SqlSugarClient Proxy { get; set; }
	    public SqlSugarContext(IOptionsMonitor<DbOptionSettings> options) : base(options)
	    {
	    }
	    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder, DbOptionSettings options)
	    {
	        Master = new SqlSugarClient(options.Master);
	        Slave = new SqlSugarClient(options.Slave);
	        if (!string.IsNullOrEmpty(options.Proxy.ConnectionString))
	        {
	            Proxy = new SqlSugarClient(options.Proxy);
	        }
	        // SqlSugar
	        optionsBuilder.UseSqlServer(Master);
	    }
	}
通过Furion框架封装的SqlSugar,我们可以更方便地实现数据库操作,不用再写一些繁琐的配置和管理代码,大大提升了开发效率。
2、优化性能。
	[ApiController]
	[Route("[controller]")]
	public class WeatherForecastController : ControllerBase
	{
	    [HttpGet]
	    [UnitOfWork]
	    [SwaggerResponse((int)HttpStatusCode.OK, "查询成功")]
	    [SwaggerResponse((int)HttpStatusCode.BadRequest, "查询失败")]
	    public async Task<ActionResult<IEnumerable<WeatherForecast>>> Get(
	        [FromQuery, SwaggerParameter("开始时间", Required = true)] DateTime startDate,
	        [FromQuery, SwaggerParameter("天数", Required = true)] int days)
	    {
	        var rng = new Random();
	        var result = await unitOfWork.Repositories<SqlSugarClient, WeatherForecast>()
	            .Entities.Where(x => x.Date >= startDate && x.Date < startDate.AddDays(days)).ToListAsync();
	        return Ok(result);
	    }
	}
Furion框架中提供的UnitOfWork特性,让我们在服务方法中实现了事务处理,避免了事务过度乐观的情况,增加了应用系统的可用性和可扩展性。
三、Furion框架的应用
1、依赖注入
	internal static IServiceCollection AddDbContext<TDbContext,TDbContextLocator>(this IServiceCollection services)
	where TDbContext : DbContext
	where TDbContextLocator: ILocator<TDbContext> 
	{
	    services.TryAddEnumerable(ServiceDescriptor.Singleton<IPostConfigureOptions<DbContextOptions>>(new DbContextOptionsSetup<TDbContext>(sp => DbContextOptionsFactory(sp, typeof(TDbContextLocator)))));
	    services.TryAddScoped<TDbContext>(sp => sp.GetRequiredService<IDbContext>().GetDbContext<TDbContext>());
	    return services;
	}
2、API文档
	public void ConfigureServices(IServiceCollection services)
	{
	    services.AddOpenApiDocument();
	}
3、日志
	public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
	{
	    app.UseSerilogRequestLogging();
	}
四、Furion框架的安装
	dotnet add package Furion
安装完毕后,我们就可以开始使用Furion框架了。
五、Furion框架的更新与维护
在使用Furion框架过程中,我们可以通过以下方式获得社区更新与维护支持:
1、官方文档:https://furion.pro/#/getting-started
2、GitHub仓库:https://github.com/monksoul/Furion
3、微信公众号:Furion – 简单高效的ASP.NET Core快速开发框架
更好的性能、更高的可读性和更短的学习曲线,Furion框架凭借强大的功能和轻量的体量,无疑是Web开发人员的不二之选。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/298077.html
 
 微信扫一扫
微信扫一扫  支付宝扫一扫
支付宝扫一扫 