Fast.DependencyInjection 3.5.0

dotnet add package Fast.DependencyInjection --version 3.5.0                
NuGet\Install-Package Fast.DependencyInjection -Version 3.5.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Fast.DependencyInjection" Version="3.5.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Fast.DependencyInjection --version 3.5.0                
#r "nuget: Fast.DependencyInjection, 3.5.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Fast.DependencyInjection as a Cake Addin
#addin nuget:?package=Fast.DependencyInjection&version=3.5.0

// Install Fast.DependencyInjection as a Cake Tool
#tool nuget:?package=Fast.DependencyInjection&version=3.5.0                

| En

Fast.NET(v3)

An application utility class (framework) that you can integrate into any .NET application.

Technology selection

  • Fast.NET v3 version is developed using C#10 and .NET6 .NET7 .NET8.

Background of the project

In the past, .NET did not have a good open source environment and community in China. As more and more programmers use .NET in China, the domestic open source environment and community are gradually getting better and better.

Various .NET open source frameworks have also emerged in response to the times.

As a newbie who has been working in the .NET industry for N years, I have also used many open source frameworks, so I want to make a small contribution to .NET open source based on my own work experience and experience. Small contribution.

Install

Select the tool module library you need to install. For example:

dotnet add package Fast.xxx

example

Introduce and use as needed~~~

using Fast.Cache;
using Fast.DependencyInjection;
using Fast.DynamicApplication;
using Fast.EventBus;
using Fast.JwtBearer;
using Fast.Logging;
using Fast.Mapster;
using Fast.NET.Core;
using Fast.Serialization;
using Fast.SqlSugar;
using Fast.Swagger;
using Fast.UnifyResult;

var builder = WebApplication.CreateBuilder(args);

// Initialize the frame
builder.Initialize();

// Add log service
builder.Services.AddLoggingService(builder.Environment);

// Add Gzip compression
builder.Services.AddGzipCompression();

// Add cross-domain service
builder.Services.AddCorsAccessor();

// Add Mapster service
builder.Services.AddMapster();

// Add serialization service
builder.Services.AddSerialization();

// Add dependency injection service
builder.Services.AddDependencyInjection();

// Add event bus service
builder.Services.AddEventBus();

// Add Redis cache service
builder.Services.AddCache();

// Add JwtBearer service
builder.Services.AddJwtBearer(builder.Configuration);

// Add SqlSugar service
builder.Services.AddSqlSugar(builder.Configuration);

// Add controller.
builder.Services.AddControllers();

// Add dynamic API service
builder.Services.AddDynamicApplication();

// Add normalized return service
builder.Services.AddUnifyResult(builder.Configuration);

// Add standardized document service
builder.Services.AddSwaggerDocuments(builder.Configuration);

var app = builder.Build();

// Mandatory HTTPS.
app.UseHttpsRedirection();

app.UseStaticFiles();

// Enable backward reading.
app.EnableBuffering();

app.UseRouting();

app.MapControllers();

// Enable normalized documents
app.UseSwaggerDocuments();

app.Run();

document

Sorry, I'm working on it...

Update log

Update log Click to view

Detailed functions (module description)

Module name Status Version Description Remarks
Fast.Cache nuget Fast.NET Framework cache module library One in the .NET industry A commonly used Redis cache library for little rookie who has been in the industry for N years, based on CSRedisCore package
Fast.DependencyInjection nuget Fast.NET Framework Dependency Injection Module Library
Fast.DynamicApplication nuget Fast.NET Framework Dynamic Api Module Library
Fast.EventBus nuget Fast.NET Framework Event Bus Module Library
Fast.IaaS nuget Fast.NET framework infrastructure module library (default other module libraries All inherit this module library) A newbie who has been working in the .NET industry for N years uses commonly used expansion tools. I personally recommend them and they are absolutely easy to use! ! !
Fast.JwtBearer nuget Fast.NET Framework JwtBearer module library
Fast.Logging nuget Fast.NET Framework Logging Module Library
Fast.Mapster nuget Fast.NET Framework Object Mapping Module Library Based on Mapster Package
Fast.NET.Core nuget Fast.NET Framework Core Module Library Because Fast.Core already exists in the Nuget package, it was renamed Fast.NET.Core
Fast.Serialization nuget Fast.NET framework serialization module library Based on System. Text.Json Package
Fast.SqlSugar nuget Fast.NET Framework SqlSugar module library Based on SqlSugar Package
Fast.Swagger nuget Fast.NET Framework Swagger Module Library
Fast.UnifyResult nuget Fast.NET framework RESTful style unified return module library

Recent plans

  • [✅] Infrastructure module
  • [✅] Core module
  • [✅] Cross-domain processing module
  • [✅] Object mapping module
  • [✅] Redis cache module
  • [✅] Serialization module
  • [✅] Dependency injection module
  • [✅] Dynamic API module
  • [✅] Standardized document module
  • [✅] Normalized return module
  • [✅] Log module
  • [✅] SqlSugar
  • [✅] Event bus
  • [⚠️] ...

Status description

Icon Description
⚠️ TBA
In progress
Complete
💔 Throw away at any time

protocol

Fast.NET Follow Apache-2.0 Open source license, everyone is welcome to submit PR or Issue.

Apache Open Source License

Copyright © 2018-Now XiaoFang

The right to deal in the Software is hereby granted free of charge to any person obtaining a copy of this software and its related documentation (the "Software"),
Including but not limited to using, copying, modifying, merging, publishing, distributing, sublicensing, selling copies of the Software,
and permit individuals in possession of a copy of the software to do so, subject to the following conditions:

The above copyright notice and this license notice must be included on all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS AND NON-INFRINGEMENT.
In no event shall the author or copyright holder be liable for any claim, damages or other liability,
WHETHER ARISING IN CONTRACT, TORT OR OTHERWISE, IN CONNECTION WITH THE SOFTWARE OR ITS USE OR OTHER DEALINGS.

Since it is still in the development stage and all functions are not very stable, the Apache-2.0 open source protocol is used for the time being. After all functions are stable, the MIT open source license will be adopted.

team member

Members Technology Nickname Motto
XiaoFang Full Stack 1.8K仔 Accepting your own mediocrity and ordinaryness is a required course for growth<br> The life you envy is the hardship you have not survived<br> When your ability cannot support you When you are ambitious, you need to calm down and study hard

Coding environment

Name Remarks
Visual Studio 2022
Visual Studio Code
Resharper The comments starting with // ReSharper that you see in the code are generated by this application to avoid unnecessary warnings or prompts

Disclaimer

 Please do not use it for projects that violate the laws of our country.

 This framework can be said to continue to reinvent the wheel based on the predecessors, but it is simpler and more convenient than some frameworks on the market. It's better to use. I don't know if we can talk about it.

Supplementary instructions

 If it is helpful to you, you can click "Star" in the upper right corner to collect it and get the latest updates. Thank you!
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.5.0 78 5/2/2024
3.4.20 119 3/14/2024
3.4.19.7 105 3/6/2024
3.4.19.6 112 3/6/2024
3.4.19.5 95 2/28/2024
3.4.19.4 111 2/27/2024
3.4.19.3 111 2/26/2024
3.4.19.2 113 2/23/2024
3.4.19.1 114 2/23/2024
3.4.19 111 2/22/2024
3.4.18.18 134 2/2/2024
3.4.18.17 102 2/1/2024
3.4.18.16 100 2/1/2024
3.4.18.15 112 2/1/2024
3.4.18.14 102 2/1/2024
3.4.18.13 95 2/1/2024
3.4.18.12 100 2/1/2024
3.4.18.11 101 2/1/2024
3.4.18.10 105 1/31/2024
3.4.18.9 97 1/31/2024
3.4.18.8 99 1/31/2024
3.4.18.7 93 1/31/2024
3.4.18.6 100 1/30/2024
3.4.18.5 98 1/30/2024
3.4.18.4 105 1/30/2024
3.4.18.3 104 1/29/2024
3.4.18.2 102 1/29/2024
3.4.18.1 102 1/29/2024
3.4.18 99 1/27/2024
3.4.17.10 106 1/24/2024
3.4.17.9 111 1/24/2024
3.4.17.8 103 1/24/2024
3.4.17.7 105 1/23/2024
3.4.17.6 110 1/20/2024
3.4.17.5 118 1/20/2024
3.4.17.4 116 1/20/2024
3.4.17.3 108 1/20/2024
3.4.17.2 103 1/20/2024
3.4.17.1 111 1/18/2024
3.4.17 101 1/18/2024
3.4.16 111 1/17/2024
3.4.15 121 1/12/2024
3.4.14 110 1/12/2024
3.4.13 111 1/11/2024
3.4.12 108 1/10/2024
3.4.11.1 94 1/10/2024
3.4.11 113 1/10/2024
3.4.10.4 114 1/9/2024
3.4.10.3 111 1/9/2024
3.4.10.2 112 1/9/2024
3.4.10.1 115 1/9/2024
3.4.10 120 1/9/2024
3.4.9.1 126 1/8/2024
3.4.9 126 1/8/2024
3.4.8 140 1/6/2024
3.4.7.3 129 1/6/2024
3.4.7.2 114 1/6/2024
3.4.7.1 124 1/5/2024
3.4.7 129 1/5/2024
3.4.6.3 154 12/28/2023
3.4.6.2 130 12/27/2023
3.4.6.1 123 12/27/2023
3.4.6 120 12/26/2023
3.4.5 132 12/25/2023
3.4.4 125 12/25/2023
3.4.3 129 12/25/2023
3.4.2 145 12/19/2023
3.4.1 130 12/14/2023
3.4.0 156 12/7/2023
3.3.4 152 11/24/2023
3.3.3 131 11/22/2023
3.3.2 135 11/17/2023
3.3.1 123 11/16/2023
3.2.20 134 11/14/2023
3.2.19 133 11/14/2023
3.2.18 128 11/14/2023
3.2.17 130 11/13/2023
3.2.16 134 11/13/2023
3.2.15 131 11/13/2023
3.2.14 121 11/13/2023
3.2.13 110 11/12/2023
3.2.12 132 11/11/2023
3.2.11 146 11/2/2023
3.2.10 137 11/2/2023
3.2.9 129 11/2/2023
3.2.7 124 11/2/2023
3.2.6 136 11/2/2023
3.2.5 130 11/2/2023
3.2.4 128 11/1/2023
3.2.3 138 11/1/2023
3.2.2 140 11/1/2023
3.2.1 130 11/1/2023
3.2.0 127 11/1/2023
3.1.10 170 11/1/2023
3.1.9 146 11/1/2023
3.1.8 156 10/31/2023
3.1.7 156 10/31/2023
3.1.6 147 10/28/2023
3.1.5 161 10/28/2023
3.1.4 152 10/27/2023
3.1.3 155 10/27/2023
3.1.2 151 10/27/2023
3.1.1 145 10/27/2023
3.0.10-test.1.20231026.7 67 10/26/2023
3.0.10-test.1.20231026.6 71 10/26/2023
3.0.10-test.1.20231026.5 72 10/26/2023
3.0.10-test.1.20231026.4 73 10/26/2023
3.0.10-test.1.20231026.3 82 10/26/2023
3.0.10-test.1.20231026.2 74 10/26/2023
3.0.10-test.1.20231026.1 73 10/26/2023
3.0.10-test.1.20231025.4 80 10/25/2023
3.0.10-test.1.20231025.3 76 10/25/2023
3.0.10-test.1.20231025.2 74 10/25/2023
3.0.10-test.1.20231025.1 78 10/25/2023
3.0.9-test.1.20231024.1 75 10/25/2023
3.0.8 138 10/11/2023
3.0.7 144 10/5/2023
3.0.6 144 10/4/2023
3.0.5 122 10/4/2023