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
- Aiursoft.Scanner.Abstractions (>= 9.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.0)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on Aiursoft.Scanner:
Package | Downloads |
---|---|
Aiursoft.Archon.SDK
Package Description |
|
Aiursoft.Gateway.SDK
Package Description |
|
Aiursoft.Developer.SDK
Package Description |
|
Aiursoft.Wrapgate.SDK
Package Description |
|
Aiursoft.Status.SDK
Package Description |
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 | 81 | 12/29/2024 |
8.0.2 | 247 | 10/9/2024 |
8.0.1 | 206 | 3/12/2024 |
8.0.0 | 432 | 2/19/2024 |
7.0.2 | 138 | 1/30/2024 |
7.0.1 | 2,115 | 11/2/2023 |
7.0.0 | 1,254 | 9/5/2023 |
6.0.11 | 955 | 6/24/2023 |
6.0.10 | 602 | 6/7/2023 |
6.0.9 | 2,696 | 5/15/2023 |
6.0.8 | 493 | 5/11/2023 |
6.0.7 | 3,192 | 8/4/2022 |
6.0.6 | 1,727 | 7/6/2022 |
6.0.5 | 1,987 | 5/13/2022 |
6.0.0 | 2,231 | 3/27/2022 |
5.0.9 | 1,891 | 5/31/2021 |
5.0.8 | 1,856 | 5/23/2021 |
5.0.7 | 1,713 | 5/7/2021 |
5.0.6 | 1,720 | 4/14/2021 |
5.0.5 | 1,874 | 2/16/2021 |
5.0.4 | 2,212 | 1/29/2021 |
5.0.3 | 1,813 | 1/27/2021 |
5.0.2 | 1,911 | 12/9/2020 |
5.0.1 | 1,890 | 11/30/2020 |
5.0.0 | 1,750 | 11/14/2020 |
3.2.11 | 2,566 | 10/18/2020 |
3.2.10 | 2,695 | 10/3/2020 |
3.2.9 | 2,417 | 10/2/2020 |
3.2.8 | 2,577 | 9/10/2020 |
3.2.7 | 2,536 | 9/2/2020 |
3.2.6 | 2,697 | 8/12/2020 |
3.2.5 | 2,753 | 7/31/2020 |
3.2.4 | 2,776 | 7/3/2020 |
3.2.3 | 2,626 | 6/25/2020 |
3.2.2 | 2,565 | 6/18/2020 |
3.2.1 | 3,102 | 6/5/2020 |
3.2.0 | 2,891 | 6/4/2020 |
3.1.14 | 3,018 | 6/4/2020 |
3.1.13 | 2,320 | 5/25/2020 |
3.1.12 | 2,196 | 5/20/2020 |
3.1.11 | 2,158 | 5/18/2020 |
3.1.10 | 2,252 | 5/18/2020 |
3.1.9 | 2,179 | 5/17/2020 |
3.1.8 | 2,352 | 5/12/2020 |
3.1.7 | 2,353 | 5/2/2020 |
3.1.6 | 2,268 | 5/1/2020 |
3.1.5 | 2,255 | 4/21/2020 |
3.1.4 | 819 | 4/19/2020 |
3.1.3 | 1,075 | 4/15/2020 |
3.1.2.2 | 1,810 | 4/6/2020 |
3.1.2.1 | 1,634 | 3/19/2020 |
3.1.2 | 1,703 | 2/21/2020 |
3.1.1.8 | 1,309 | 2/17/2020 |
3.1.1.7 | 1,376 | 2/14/2020 |
3.1.1.6 | 1,140 | 1/28/2020 |
3.1.1.5 | 1,415 | 1/22/2020 |
3.1.1.4 | 1,057 | 1/21/2020 |
3.1.1.3 | 1,370 | 1/21/2020 |
3.1.1.2 | 1,864 | 1/20/2020 |