EasilyNET.AutoDependencyInjection
1.4.0
.NET 6.0
This package targets .NET 6.0. The package is compatible with this framework or higher.
.NET Standard 2.1
This package targets .NET Standard 2.1. The package is compatible with this framework or higher.
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package EasilyNET.AutoDependencyInjection --version 1.4.0
NuGet\Install-Package EasilyNET.AutoDependencyInjection -Version 1.4.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="EasilyNET.AutoDependencyInjection" Version="1.4.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EasilyNET.AutoDependencyInjection --version 1.4.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: EasilyNET.AutoDependencyInjection, 1.4.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 EasilyNET.AutoDependencyInjection as a Cake Addin #addin nuget:?package=EasilyNET.AutoDependencyInjection&version=1.4.0 // Install EasilyNET.AutoDependencyInjection as a Cake Tool #tool nuget:?package=EasilyNET.AutoDependencyInjection&version=1.4.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
EasilyNET.AutoDependencyInjection
自动注入模块,参考 ABP 的代码实现.
如何使用
- 使用 Nuget 包管理工具添加依赖包 EasilyNET.AutoDependencyInjection
- 等待下载完成和同意开源协议后,即可使用本库.
- a.使用特性注入服务
[DependencyInjection(ServiceLifetime.Singleton, AddSelf = true)]
public class XXXService : IXXXService
{
// TODO: do something
Console.WriteLine("使用特性注入服务");
...
}
- b.使用接口的方式,继承 IScopedDependency, ISingletonDependency, ITransientDependency
/// <summary>
/// 测试模块
/// </summary>
public class MyTestModule : ITest, IScopedDependency
{
/// <summary>
/// Show
/// </summary>
public void Show()
{
Console.WriteLine("Test");
}
}
/// <summary>
/// 测试
/// </summary>
//[IgnoreDependency]
public interface ITest
{
/// <summary>
/// Show函数
/// </summary>
void Show();
}
// 在其他地方获取服务,并执行方法
var test = context.Services.GetService<MyTestModule>();
test?.Show();
...
- 3.继承 AppModule 类,然后显示加入到 AppWebModule 配置中
- Step1.创建 CorsModule.cs
// 这里以跨域服务注册为例
/// <summary>
/// 配置跨域服务及中间件
/// </summary>
public class CorsModule : AppModule
{
/// <summary>
/// 注册和配置服务
/// </summary>
/// <param name="context"></param>
public override void ConfigureServices(ConfigureServicesContext context)
{
var config = context.Services.GetConfiguration();
var allow = config["AllowedHosts"] ?? "*";
_ = context.Services.AddCors(c => c.AddPolicy("AllowedHosts", s => s.WithOrigins(allow.Split(",")).AllowAnyMethod().AllowAnyHeader()));
}
/// <summary>
/// 注册中间件
/// </summary>
/// <param name="context"></param>
public override void ApplicationInitialization(ApplicationContext context)
{
var app = context.GetApplicationBuilder();
_ = app.UseCors("AllowedHosts");
}
}
- Step2.创建 AppWebModule.cs
/**
* 要实现自动注入,一定要在这个地方添加
*/
[DependsOn(
typeof(DependencyAppModule),
typeof(CorsModule)
)]
public class AppWebModule : AppModule
{
/// <summary>
/// 注册和配置服务
/// </summary>
/// <param name="context"></param>
public override void ConfigureServices(ConfigureServicesContext context)
{
base.ConfigureServices(context);
_ = context.Services.AddHttpContextAccessor();
}
/// <summary>
/// 注册中间件
/// </summary>
/// <param name="context"></param>
public override void ApplicationInitialization(ApplicationContext context)
{
base.ApplicationInitialization(context);
var app = context.GetApplicationBuilder();
_ = app.UseAuthorization();
// 这里可添加自己的中间件
}
}
- Step3.最后再 Program.cs 中添加如下内容.
// Add services to the container.
// 自动注入服务模块
builder.Services.AddApplication<AppWebModule>();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment()) _ = app.UseDeveloperExceptionPage();
// 添加自动化注入的一些中间件.
app.InitializeApplication();
app.MapControllers();
app.Run();
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. 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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.1
- EasilyNET.Core (>= 1.4.0)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0-preview.3.23174.8)
- Microsoft.Extensions.DependencyInjection (>= 8.0.0-preview.3.23174.8)
- Microsoft.Extensions.DependencyModel (>= 8.0.0-preview.3.23174.8)
-
net6.0
- EasilyNET.Core (>= 1.4.0)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0-preview.3.23174.8)
- Microsoft.Extensions.DependencyInjection (>= 8.0.0-preview.3.23174.8)
- Microsoft.Extensions.DependencyModel (>= 8.0.0-preview.3.23174.8)
-
net7.0
- EasilyNET.Core (>= 1.4.0)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0-preview.3.23174.8)
- Microsoft.Extensions.DependencyInjection (>= 8.0.0-preview.3.23174.8)
- Microsoft.Extensions.DependencyModel (>= 8.0.0-preview.3.23174.8)
-
net8.0
- EasilyNET.Core (>= 1.4.0)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0-preview.3.23174.8)
- Microsoft.Extensions.DependencyInjection (>= 8.0.0-preview.3.23174.8)
- Microsoft.Extensions.DependencyModel (>= 8.0.0-preview.3.23174.8)
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.24.1113.100 | 31 | 11/13/2024 |
3.24.1112.125 | 57 | 11/12/2024 |
3.24.1107.140 | 72 | 11/7/2024 |
3.24.1107.54 | 62 | 11/7/2024 |
3.24.1107.34 | 63 | 11/7/2024 |
3.24.1105.111 | 68 | 11/5/2024 |
3.24.1103.31 | 72 | 11/2/2024 |
3.24.1103 | 67 | 11/2/2024 |
3.24.1031.135 | 72 | 10/31/2024 |
3.24.1031.112 | 66 | 10/31/2024 |
3.24.1031.104 | 71 | 10/31/2024 |
3.24.1029.142 | 74 | 10/29/2024 |
3.24.1025.30 | 74 | 10/24/2024 |
3.24.1022.142 | 59 | 10/22/2024 |
3.24.1018.204 | 132 | 10/18/2024 |
3.24.1018.175 | 126 | 10/18/2024 |
3.24.1018.166 | 125 | 10/18/2024 |
3.24.1018.93 | 136 | 10/18/2024 |
3.24.1017.42 | 97 | 10/16/2024 |
3.24.1016.161 | 95 | 10/16/2024 |
3.24.1015.231 | 85 | 10/15/2024 |
3.24.1015.14 | 75 | 10/14/2024 |
3.24.1012.114 | 77 | 10/12/2024 |
3.24.1009.115 | 83 | 10/9/2024 |
3.24.1008.160 | 79 | 10/8/2024 |
3.24.1008.133 | 80 | 10/8/2024 |
3.24.1007.185 | 83 | 10/7/2024 |
3.24.1003.33 | 84 | 10/2/2024 |
3.24.1002.162 | 79 | 10/2/2024 |
3.24.929.143 | 82 | 9/29/2024 |
3.24.929.141 | 70 | 9/29/2024 |
3.24.929.131 | 83 | 9/29/2024 |
3.24.929.122 | 86 | 9/29/2024 |
3.24.926.184 | 83 | 9/26/2024 |
3.24.926.182 | 76 | 9/26/2024 |
3.24.926.175 | 82 | 9/26/2024 |
3.24.924.160 | 87 | 9/24/2024 |
3.24.924.133 | 95 | 9/24/2024 |
3.24.924.124 | 81 | 9/24/2024 |
3.24.924.10 | 86 | 9/23/2024 |
3.24.924.1 | 75 | 9/23/2024 |
3.24.923.234 | 78 | 9/23/2024 |
3.24.923.232 | 84 | 9/23/2024 |
3.24.923.155 | 83 | 9/23/2024 |
3.24.919.92 | 96 | 9/19/2024 |
3.24.914.125 | 110 | 9/14/2024 |
3.24.914.115 | 90 | 9/14/2024 |
3.24.914.111 | 95 | 9/14/2024 |
3.24.911.95 | 99 | 9/11/2024 |
3.24.908.215 | 85 | 9/8/2024 |
3.24.904.200 | 96 | 9/4/2024 |
3.24.828.163 | 117 | 8/28/2024 |
3.24.820.173 | 100 | 8/20/2024 |
3.24.814.92 | 122 | 8/14/2024 |
3.24.812.115 | 101 | 8/12/2024 |
3.24.802.100 | 60 | 8/2/2024 |
3.24.801.162 | 74 | 8/1/2024 |
3.24.801.160 | 65 | 8/1/2024 |
3.24.801.155 | 69 | 8/1/2024 |
3.24.801.153 | 111 | 8/1/2024 |
3.24.730.164 | 69 | 7/30/2024 |
3.24.730.91 | 65 | 7/30/2024 |
3.24.724.91 | 69 | 7/24/2024 |
3.24.718.105 | 83 | 7/18/2024 |
3.24.716.95 | 113 | 7/16/2024 |
3.24.712.94 | 99 | 7/12/2024 |
3.24.710.14 | 95 | 7/9/2024 |
3.24.709.105 | 108 | 7/9/2024 |
3.24.704.94 | 110 | 7/4/2024 |
3.24.701.90 | 96 | 7/1/2024 |
3.24.628.114 | 102 | 6/28/2024 |
3.24.627.145 | 102 | 6/27/2024 |
3.24.620.160 | 94 | 6/20/2024 |
3.24.613.115 | 90 | 6/13/2024 |
3.24.612.95 | 94 | 6/12/2024 |
3.24.528.90 | 95 | 5/28/2024 |
3.24.522.84 | 110 | 5/22/2024 |
3.24.512.213 | 98 | 5/12/2024 |
3.24.508.112 | 123 | 5/8/2024 |
2.2024.428.71 | 119 | 4/28/2024 |
2.2024.427.1128 | 108 | 4/27/2024 |
2.2.72 | 116 | 4/14/2024 |
2.2.71 | 93 | 4/12/2024 |
2.2.8 | 98 | 4/26/2024 |
2.2.6 | 113 | 4/10/2024 |
2.2.5 | 121 | 3/26/2024 |
2.2.4 | 107 | 3/25/2024 |
2.2.3 | 117 | 3/24/2024 |
2.2.2 | 114 | 3/21/2024 |
2.2.1 | 114 | 3/20/2024 |
2.2.0 | 136 | 3/13/2024 |
2.1.9 | 142 | 2/21/2024 |
2.1.8 | 116 | 2/18/2024 |
2.1.7 | 132 | 2/16/2024 |
2.1.6 | 149 | 2/14/2024 |
2.1.5 | 113 | 2/14/2024 |
2.1.4 | 142 | 2/9/2024 |
2.1.3 | 112 | 2/8/2024 |
2.1.2 | 171 | 2/5/2024 |
2.1.1.2 | 220 | 12/26/2023 |
2.1.1.1 | 116 | 12/26/2023 |
2.1.1 | 123 | 12/25/2023 |
2.1.0 | 144 | 12/17/2023 |
2.0.11 | 197 | 12/6/2023 |
2.0.1 | 195 | 11/15/2023 |
2.0.0 | 150 | 11/14/2023 |
1.9.1 | 162 | 11/1/2023 |
1.9.0 | 134 | 10/19/2023 |
1.9.0-preview2 | 317 | 10/12/2023 |
1.9.0-preview1 | 104 | 10/12/2023 |
1.8.9 | 180 | 10/11/2023 |
1.8.8 | 173 | 10/11/2023 |
1.8.7-rc2 | 136 | 9/21/2023 |
1.8.7-rc1 | 125 | 9/12/2023 |
1.8.6 | 173 | 8/31/2023 |
1.8.5 | 821 | 8/25/2023 |
1.8.4 | 163 | 8/24/2023 |
1.8.3 | 185 | 8/23/2023 |
1.8.2 | 257 | 8/22/2023 |
1.8.1 | 196 | 8/18/2023 |
1.8.0 | 188 | 8/15/2023 |
1.7.9 | 221 | 8/11/2023 |
1.7.8 | 165 | 8/11/2023 |
1.7.7 | 177 | 8/10/2023 |
1.7.6 | 192 | 8/9/2023 |
1.7.5 | 243 | 8/9/2023 |
1.7.4 | 276 | 8/3/2023 |
1.7.3 | 182 | 8/1/2023 |
1.7.2 | 177 | 7/31/2023 |
1.7.1 | 174 | 7/27/2023 |
1.7.0 | 191 | 7/25/2023 |
1.6.9 | 170 | 7/25/2023 |
1.6.8 | 183 | 7/24/2023 |
1.6.7 | 204 | 7/20/2023 |
1.6.6 | 198 | 7/19/2023 |
1.6.5 | 174 | 7/19/2023 |
1.6.4 | 178 | 7/17/2023 |
1.6.3 | 154 | 7/17/2023 |
1.6.2 | 208 | 7/12/2023 |
1.6.1 | 219 | 6/30/2023 |
1.6.0 | 151 | 6/26/2023 |
1.5.9 | 167 | 6/22/2023 |
1.5.8 | 171 | 6/15/2023 |
1.5.7.1 | 172 | 6/14/2023 |
1.5.7 | 169 | 6/14/2023 |
1.5.6.2 | 224 | 6/7/2023 |
1.5.6.1 | 151 | 6/7/2023 |
1.5.6 | 151 | 6/7/2023 |
1.5.5.2 | 211 | 5/26/2023 |
1.5.5.1 | 170 | 5/26/2023 |
1.5.5 | 170 | 5/26/2023 |
1.5.4.4 | 180 | 5/25/2023 |
1.5.4.3 | 223 | 5/23/2023 |
1.5.4.2 | 285 | 5/17/2023 |
1.5.4.1 | 177 | 5/16/2023 |
1.5.4 | 254 | 5/11/2023 |
1.5.3 | 175 | 5/11/2023 |
1.5.2 | 118 | 5/10/2023 |
1.5.1 | 116 | 5/10/2023 |
1.5.0 | 157 | 5/6/2023 |
1.4.0 | 111 | 5/5/2023 |
1.3.9 | 125 | 4/23/2023 |
1.3.8.6 | 108 | 4/23/2023 |
1.3.8.5 | 118 | 4/21/2023 |
1.3.8.1 | 184 | 4/12/2023 |
1.3.8 | 123 | 4/11/2023 |
1.3.7 | 149 | 4/9/2023 |
1.3.6.3 | 205 | 4/1/2023 |
1.3.6.2 | 118 | 3/31/2023 |
1.3.6.1 | 122 | 3/31/2023 |
1.3.6 | 94 | 3/31/2023 |
1.3.5 | 120 | 3/30/2023 |
1.3.4.1 | 180 | 3/29/2023 |
1.3.4 | 127 | 3/28/2023 |
1.3.3 | 103 | 3/28/2023 |
1.3.2 | 136 | 3/26/2023 |
1.3.1 | 191 | 3/22/2023 |
1.3.0 | 130 | 3/21/2023 |
1.2.0 | 115 | 3/21/2023 |
1.1.0 | 130 | 3/17/2023 |
1.0.9 | 126 | 3/15/2023 |
1.0.8 | 128 | 3/15/2023 |
1.0.7 | 105 | 3/15/2023 |
1.0.6 | 125 | 3/13/2023 |
1.0.5 | 131 | 3/13/2023 |
1.0.4 | 107 | 3/13/2023 |
1.0.3 | 196 | 2/26/2023 |
1.0.2 | 118 | 2/26/2023 |
1.0.1 | 124 | 2/23/2023 |
1.0.0 | 287 | 2/20/2023 |