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 | 184 | 10/9/2024 |
8.0.1 | 197 | 3/12/2024 |
8.0.0 | 382 | 2/19/2024 |
7.0.2 | 132 | 1/30/2024 |
7.0.1 | 2,066 | 11/2/2023 |
7.0.0 | 1,250 | 9/5/2023 |
6.0.11 | 951 | 6/24/2023 |
6.0.10 | 598 | 6/7/2023 |
6.0.9 | 2,691 | 5/15/2023 |
6.0.8 | 489 | 5/11/2023 |
6.0.7 | 3,186 | 8/4/2022 |
6.0.6 | 1,721 | 7/6/2022 |
6.0.5 | 1,981 | 5/13/2022 |
6.0.0 | 2,225 | 3/27/2022 |
5.0.9 | 1,883 | 5/31/2021 |
5.0.8 | 1,851 | 5/23/2021 |
5.0.7 | 1,707 | 5/7/2021 |
5.0.6 | 1,713 | 4/14/2021 |
5.0.5 | 1,865 | 2/16/2021 |
5.0.4 | 2,205 | 1/29/2021 |
5.0.3 | 1,806 | 1/27/2021 |
5.0.2 | 1,904 | 12/9/2020 |
5.0.1 | 1,878 | 11/30/2020 |
5.0.0 | 1,743 | 11/14/2020 |
3.2.11 | 2,559 | 10/18/2020 |
3.2.10 | 2,688 | 10/3/2020 |
3.2.9 | 2,410 | 10/2/2020 |
3.2.8 | 2,570 | 9/10/2020 |
3.2.7 | 2,529 | 9/2/2020 |
3.2.6 | 2,690 | 8/12/2020 |
3.2.5 | 2,746 | 7/31/2020 |
3.2.4 | 2,769 | 7/3/2020 |
3.2.3 | 2,619 | 6/25/2020 |
3.2.2 | 2,558 | 6/18/2020 |
3.2.1 | 3,095 | 6/5/2020 |
3.2.0 | 2,884 | 6/4/2020 |
3.1.14 | 3,011 | 6/4/2020 |
3.1.13 | 2,313 | 5/25/2020 |
3.1.12 | 2,189 | 5/20/2020 |
3.1.11 | 2,151 | 5/18/2020 |
3.1.10 | 2,245 | 5/18/2020 |
3.1.9 | 2,172 | 5/17/2020 |
3.1.8 | 2,344 | 5/12/2020 |
3.1.7 | 2,346 | 5/2/2020 |
3.1.6 | 2,261 | 5/1/2020 |
3.1.5 | 2,248 | 4/21/2020 |
3.1.4 | 811 | 4/19/2020 |
3.1.3 | 1,068 | 4/15/2020 |
3.1.2.2 | 1,803 | 4/6/2020 |
3.1.2.1 | 1,627 | 3/19/2020 |
3.1.2 | 1,696 | 2/21/2020 |
3.1.1.8 | 1,302 | 2/17/2020 |
3.1.1.7 | 1,369 | 2/14/2020 |
3.1.1.6 | 1,133 | 1/28/2020 |
3.1.1.5 | 1,408 | 1/22/2020 |
3.1.1.4 | 1,050 | 1/21/2020 |
3.1.1.3 | 1,363 | 1/21/2020 |
3.1.1.2 | 1,857 | 1/20/2020 |