Aiursoft.Scanner
8.0.2
dotnet add package Aiursoft.Scanner --version 8.0.2
NuGet\Install-Package Aiursoft.Scanner -Version 8.0.2
<PackageReference Include="Aiursoft.Scanner" Version="8.0.2" />
paket add Aiursoft.Scanner --version 8.0.2
#r "nuget: Aiursoft.Scanner, 8.0.2"
// Install Aiursoft.Scanner as a Cake Addin #addin nuget:?package=Aiursoft.Scanner&version=8.0.2 // Install Aiursoft.Scanner as a Cake Tool #tool nuget:?package=Aiursoft.Scanner&version=8.0.2
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 | 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. |
-
net8.0
- Aiursoft.Scanner.Abstractions (>= 8.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
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 |
---|---|---|
8.0.2 | 237 | 10/9/2024 |
8.0.1 | 206 | 3/12/2024 |
8.0.0 | 418 | 2/19/2024 |
7.0.2 | 138 | 1/30/2024 |
7.0.1 | 2,102 | 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,190 | 8/4/2022 |
6.0.6 | 1,725 | 7/6/2022 |
6.0.5 | 1,985 | 5/13/2022 |
6.0.0 | 2,229 | 3/27/2022 |
5.0.9 | 1,889 | 5/31/2021 |
5.0.8 | 1,855 | 5/23/2021 |
5.0.7 | 1,711 | 5/7/2021 |
5.0.6 | 1,717 | 4/14/2021 |
5.0.5 | 1,871 | 2/16/2021 |
5.0.4 | 2,209 | 1/29/2021 |
5.0.3 | 1,810 | 1/27/2021 |
5.0.2 | 1,908 | 12/9/2020 |
5.0.1 | 1,884 | 11/30/2020 |
5.0.0 | 1,747 | 11/14/2020 |
3.2.11 | 2,563 | 10/18/2020 |
3.2.10 | 2,692 | 10/3/2020 |
3.2.9 | 2,414 | 10/2/2020 |
3.2.8 | 2,574 | 9/10/2020 |
3.2.7 | 2,533 | 9/2/2020 |
3.2.6 | 2,694 | 8/12/2020 |
3.2.5 | 2,752 | 7/31/2020 |
3.2.4 | 2,775 | 7/3/2020 |
3.2.3 | 2,625 | 6/25/2020 |
3.2.2 | 2,564 | 6/18/2020 |
3.2.1 | 3,101 | 6/5/2020 |
3.2.0 | 2,890 | 6/4/2020 |
3.1.14 | 3,017 | 6/4/2020 |
3.1.13 | 2,319 | 5/25/2020 |
3.1.12 | 2,195 | 5/20/2020 |
3.1.11 | 2,157 | 5/18/2020 |
3.1.10 | 2,251 | 5/18/2020 |
3.1.9 | 2,178 | 5/17/2020 |
3.1.8 | 2,350 | 5/12/2020 |
3.1.7 | 2,352 | 5/2/2020 |
3.1.6 | 2,267 | 5/1/2020 |
3.1.5 | 2,254 | 4/21/2020 |
3.1.4 | 817 | 4/19/2020 |
3.1.3 | 1,074 | 4/15/2020 |
3.1.2.2 | 1,809 | 4/6/2020 |
3.1.2.1 | 1,633 | 3/19/2020 |
3.1.2 | 1,702 | 2/21/2020 |
3.1.1.8 | 1,308 | 2/17/2020 |
3.1.1.7 | 1,375 | 2/14/2020 |
3.1.1.6 | 1,139 | 1/28/2020 |
3.1.1.5 | 1,414 | 1/22/2020 |
3.1.1.4 | 1,056 | 1/21/2020 |
3.1.1.3 | 1,369 | 1/21/2020 |
3.1.1.2 | 1,863 | 1/20/2020 |