Aiursoft.Scanner
9.0.1
dotnet add package Aiursoft.Scanner --version 9.0.1
NuGet\Install-Package Aiursoft.Scanner -Version 9.0.1
<PackageReference Include="Aiursoft.Scanner" Version="9.0.1" />
paket add Aiursoft.Scanner --version 9.0.1
#r "nuget: Aiursoft.Scanner, 9.0.1"
// Install Aiursoft.Scanner as a Cake Addin #addin nuget:?package=Aiursoft.Scanner&version=9.0.1 // Install Aiursoft.Scanner as a Cake Tool #tool nuget:?package=Aiursoft.Scanner&version=9.0.1
Aiursoft Scanner
An Automatic dependencies management system for ASP.NET Core and powers Aiursoft.
Why this project
The traditional way to add dependencies is:
service.AddScoped<MyScopedDependency>();
Which means that you have to manually inject all dependencies. When you have too many of them, it is possible to make a mistake.
How to use Aiursoft.Scanner
First, install Aiursoft.Scanner
to your ASP.NET Core project from nuget.org:
dotnet add package Aiursoft.Scanner
Add the interface to your class like this:
using Aiursoft.Scanner.Abstractions;
public class MySingletonService : ISingletonDependency
{
}
public class MyScopedService : IScopedDependency
{
}
public class MyTransientService : ITransientDependency
{
}
And just call this in your StartUp.cs
:
using Aiursoft.Scanner;
services.AddScannedDependencies();
That's all! All your dependencies are registered. Just use it like previous before:
public class MyController : Controller
{
private readonly MyScopedService _service;
public MyController(MyScopedService service)
{
_service = service;
}
}
Advanced usage
When you want to register a dependency that implements an abstract, your previous way is:
public class MyClass : IAbstract
{
}
service.AddScoped<IAbstract, MyClass>();
That's fine. But now we want to register this automatically.
Add the dependency interface to your service like this:
public class MyClass : IAbstract, IScopedDependency
{
}
When you are registering all dependencies in your StartUp.cs
, tell us that your project supports your abstract.
services.AddScannedDependencies(typeof(IAbstract));
And you can call it with multiple abstracts:
services.AddScannedDependencies(typeof(IAbstract1), typeof(IAbstract2), typeof(IAbstract3));
That's all! Enjoy!
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net9.0
- Aiursoft.Scanner.Abstractions (>= 9.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Aiursoft.Scanner:
Repository | Stars |
---|---|
AiursoftWeb/Infrastructures
Mirror of: https://gitlab.aiursoft.cn/aiursoft/infrastructures
|
Version | Downloads | Last updated |
---|---|---|
9.0.1 | 89 | 12/29/2024 |
8.0.2 | 248 | 10/9/2024 |
8.0.1 | 208 | 3/12/2024 |
8.0.0 | 439 | 2/19/2024 |
7.0.2 | 139 | 1/30/2024 |
7.0.1 | 2,122 | 11/2/2023 |
7.0.0 | 1,255 | 9/5/2023 |
6.0.11 | 956 | 6/24/2023 |
6.0.10 | 603 | 6/7/2023 |
6.0.9 | 2,697 | 5/15/2023 |
6.0.8 | 494 | 5/11/2023 |
6.0.7 | 3,194 | 8/4/2022 |
6.0.6 | 1,729 | 7/6/2022 |
6.0.5 | 1,989 | 5/13/2022 |
6.0.0 | 2,233 | 3/27/2022 |
5.0.9 | 1,893 | 5/31/2021 |
5.0.8 | 1,857 | 5/23/2021 |
5.0.7 | 1,715 | 5/7/2021 |
5.0.6 | 1,721 | 4/14/2021 |
5.0.5 | 1,875 | 2/16/2021 |
5.0.4 | 2,213 | 1/29/2021 |
5.0.3 | 1,814 | 1/27/2021 |
5.0.2 | 1,912 | 12/9/2020 |
5.0.1 | 1,891 | 11/30/2020 |
5.0.0 | 1,750 | 11/14/2020 |
3.2.11 | 2,567 | 10/18/2020 |
3.2.10 | 2,696 | 10/3/2020 |
3.2.9 | 2,418 | 10/2/2020 |
3.2.8 | 2,578 | 9/10/2020 |
3.2.7 | 2,537 | 9/2/2020 |
3.2.6 | 2,698 | 8/12/2020 |
3.2.5 | 2,755 | 7/31/2020 |
3.2.4 | 2,777 | 7/3/2020 |
3.2.3 | 2,627 | 6/25/2020 |
3.2.2 | 2,566 | 6/18/2020 |
3.2.1 | 3,103 | 6/5/2020 |
3.2.0 | 2,892 | 6/4/2020 |
3.1.14 | 3,019 | 6/4/2020 |
3.1.13 | 2,321 | 5/25/2020 |
3.1.12 | 2,197 | 5/20/2020 |
3.1.11 | 2,159 | 5/18/2020 |
3.1.10 | 2,253 | 5/18/2020 |
3.1.9 | 2,180 | 5/17/2020 |
3.1.8 | 2,353 | 5/12/2020 |
3.1.7 | 2,354 | 5/2/2020 |
3.1.6 | 2,269 | 5/1/2020 |
3.1.5 | 2,256 | 4/21/2020 |
3.1.4 | 820 | 4/19/2020 |
3.1.3 | 1,076 | 4/15/2020 |
3.1.2.2 | 1,812 | 4/6/2020 |
3.1.2.1 | 1,635 | 3/19/2020 |
3.1.2 | 1,704 | 2/21/2020 |
3.1.1.8 | 1,310 | 2/17/2020 |
3.1.1.7 | 1,379 | 2/14/2020 |
3.1.1.6 | 1,141 | 1/28/2020 |
3.1.1.5 | 1,416 | 1/22/2020 |
3.1.1.4 | 1,058 | 1/21/2020 |
3.1.1.3 | 1,371 | 1/21/2020 |
3.1.1.2 | 1,865 | 1/20/2020 |