A framework that makes.NET development easier, more generic, and more popular

A framework that makes.NET development easier, more generic, and more popular

2022-09-02 0 967
Resource Number 38035 Last Updated 2025-02-24
¥ 0HKD Upgrade VIP
Download Now Matters needing attention
Can't download? Please contact customer service to submit a link error!
Value-added Service: Installation Guide Environment Configuration Secondary Development Template Modification Source Code Installation

This issue recommends a Jean. NET to develop a simpler, more versatile, and more popular project – Furion.

A framework that makes.NET development easier, more generic, and more popular插图

Furion is an application framework based on the.net5/6 platform that you can integrate into any.NET/C# application.

Furion has the following characteristics:

  • New look: Based on the.NET5/6 platform, no historical baggage
  • Minimal dependencies: The framework relies on only two third-party packages
  • Easy to get started: Only Inject() is needed to complete the configuration
  • Rapid development: Built-in rich enterprise application development functions
  • Extremely flexible: easily cope with changing and complex requirements
  • Easy to maintain: A unique architectural idea designed for long-term maintenance
  • Complete documentation: Provides comprehensive development documentation
  • Cross-platform: Supports all major operating systems and all.NET project types

function module

A framework that makes.NET development easier, more generic, and more popular插图1

Frame dependency

Furion, in pursuit of fast entry, extreme performance, does not use or reduce third party dependence as much as possible. Currently, Furion only integrates the following two dependencies:

  • MiniProfiler: Required for performance analysis and monitoring
  • Swashbuckle: Swagger interface documentation

Small but complete. Even though Furion only integrates these two dependencies, the mainstream dependency injection/inversion of control, AOP aspect oriented programming, event bus, data validation, database manipulation, etc., are not lost.

environmental requirement

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

supporting platform

  • operating environment

A framework that makes.NET development easier, more generic, and more popular插图2

  • database

A framework that makes.NET development easier, more generic, and more popular插图3

  • application deployment

A framework that makes.NET development easier, more generic, and more popular插图4

On performance

Furion currently uses Visual Studio 2019 16.8’s built-in performance test and JMeter for testing. Due to limited space, only part of the test diagram is posted. The test results are as follows:

A framework that makes.NET development easier, more generic, and more popular插图5

Simple use

Entry requirements: Have a basic understanding of.NET Core/ASP.NET Core, have not yet touched ASP.NET Core basics | Microsoft Docs

1. Create a Web project

Environment requirements: Before using Furion, make sure you have the latest.NET 5 SDK installed and upgrade Visual Studio 2019 to the latest version.

To create an ASP.NET Core Web application:

  • Open Visual Studio 2019 and create the Web project

A framework that makes.NET development easier, more generic, and more popular插图6

  • Configuration item name

A framework that makes.NET development easier, more generic, and more popular插图7

  • Select the WebAPI project

A framework that makes.NET development easier, more generic, and more popular插图8

Special note: Furion already has the Swagger normalization library built in, so you don’t need to check the Enable OpenAPI support option when creating. Otherwise, a message is displayed indicating version inconsistency and conflict.

2. Add Furion dependency packages

A framework that makes.NET development easier, more generic, and more popular插图9

3. Furion Basic configuration

  • Program.cs Add 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()   // Add this line
                    .UseStartup<Startup>();
                });
    }
}
  • Add two Inject() to Startup.cs
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();  // add AddInject();
        }

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseHttpsRedirection();

            app.UseRouting();

            app.UseAuthorization();

            // Add this line,If it is MVC and API co-existing project,No addition string.Empty
            app.UseInject(string.Empty);

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }
    }
}

Tip: If app.UseInject() does not enter an argument, the default address is /api, and if string.Empty is/directory. If you enter any string, it is/any string directory.

4.Launch browser

Launch your browser to see the effect.

A framework that makes.NET development easier, more generic, and more popular插图10

You can read more on your own.

资源下载此资源为免费资源立即下载
Telegram:@John_Software

Disclaimer: This article is published by a third party and represents the views of the author only and has nothing to do with this website. This site does not make any guarantee or commitment to the authenticity, completeness and timeliness of this article and all or part of its content, please readers for reference only, and please verify the relevant content. The publication or republication of articles by this website for the purpose of conveying more information does not mean that it endorses its views or confirms its description, nor does it mean that this website is responsible for its authenticity.

Ictcoder Free Source Code A framework that makes.NET development easier, more generic, and more popular https://ictcoder.com/a-framework-that-makes-net-development-easier-more-generic-and-more-popular/

Share free open-source source code

Q&A
  • 1. Automatic: After making an online payment, click the (Download) link to download the source code; 2. Manual: Contact the seller or the official to check if the template is consistent. Then, place an order and make payment online. The seller ships the goods, and both parties inspect and confirm that there are no issues. ICTcoder will then settle the payment for the seller. Note: Please ensure to place your order and make payment through ICTcoder. If you do not place your order and make payment through ICTcoder, and the seller sends fake source code or encounters any issues, ICTcoder will not assist in resolving them, nor can we guarantee your funds!
View details
  • 1. Default transaction cycle for source code: The seller manually ships the goods within 1-3 days. The amount paid by the user will be held in escrow by ICTcoder until 7 days after the transaction is completed and both parties confirm that there are no issues. ICTcoder will then settle with the seller. In case of any disputes, ICTcoder will have staff to assist in handling until the dispute is resolved or a refund is made! If the buyer places an order and makes payment not through ICTcoder, any issues and disputes have nothing to do with ICTcoder, and ICTcoder will not be responsible for any liabilities!
View details
  • 1. ICTcoder will permanently archive the transaction process between both parties and snapshots of the traded goods to ensure the authenticity, validity, and security of the transaction! 2. ICTcoder cannot guarantee services such as "permanent package updates" and "permanent technical support" after the merchant's commitment. Buyers are advised to identify these services on their own. If necessary, they can contact ICTcoder for assistance; 3. When both website demonstration and image demonstration exist in the source code, and the text descriptions of the website and images are inconsistent, the text description of the image shall prevail as the basis for dispute resolution (excluding special statements or agreements); 4. If there is no statement such as "no legal basis for refund" or similar content, any indication on the product that "once sold, no refunds will be supported" or other similar declarations shall be deemed invalid; 5. Before the buyer places an order and makes payment, the transaction details agreed upon by both parties via WhatsApp or email can also serve as the basis for dispute resolution (in case of any inconsistency between the agreement and the description of the conflict, the agreement shall prevail); 6. Since chat records and email records can serve as the basis for dispute resolution, both parties should only communicate with each other through the contact information left on the system when contacting each other, in order to prevent the other party from denying their own commitments. 7. Although the probability of disputes is low, it is essential to retain important information such as chat records, text messages, and email records, in case a dispute arises, so that ICTcoder can intervene quickly.
View details
  • 1. As a third-party intermediary platform, ICTcoder solely protects transaction security and the rights and interests of both buyers and sellers based on the transaction contract (product description, agreed content before the transaction); 2. For online trading projects not on the ICTcoder platform, any consequences are unrelated to this platform; regardless of the reason why the seller requests an offline transaction, please contact the administrator to report.
View details

Related Source code

ICTcoder Customer Service

24-hour online professional services