.net core 依赖注入扩展,实现随处控制反转
在使用.net core时,依赖注入,主要使用通过构造函数注入。小编将通过扩展方式,实现在类中各个地方可以控制反转,获取实例。
1、首先自定义扩展类
-
using Microsoft.AspNetCore.Builder;
-
using System;
-
namespace Microsoft.Extensions.DependencyInjection
-
{
-
public static class DI
-
{
-
public static IServiceCollection Services { get; set; }
-
public static IServiceProvider ServiceProvider { get; set; }
-
}
-
public static class Extensions
-
{
-
public static IServiceCollection AddTfDI(this IServiceCollection services)
-
{
-
DI.Services = services;
-
return services;
-
}
-
public static IApplicationBuilder UseTfDI(this IApplicationBuilder builder)
-
{
-
DI.ServiceProvider = builder.ApplicationServices;
-
return builder;
-
}
-
}
-
}
2.在startup.cs中的public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)中添加
app.UseTfDI();//依赖注入扩展方法
3.实例教你如何使用
假设我们在有一个依赖注入:
services.AddSingleton<IUploadHelper, UploadHelper>();
那么我们在其他需要调用的类中,就可以通过
var up = DI.ServiceProvider.GetRequiredService<IUploadHelper>(); //这样即可以获得实例
很简单吧,说明一下,在.net core2中,通过该 方法暂不支持services.AddScoped 注入方式的控制反转。
更多精彩文章请关注我们的微信公众号FocusDotCore:
- iOS控制反转(IoC)与依赖注入(DI)的实现
- 依赖注入(Dependency Injection) 实现 控制反转(Inversion of Control)
- C# 依赖注入中的 控制反转(Assembly)实现
- 控制反转IOC之实现--依赖注入--依赖查找+依赖拖拽
- ADO.NET .net core2.0添加json文件并转化成类注入控制器使用 简单了解 iTextSharp实现HTML to PDF ASP.NET MVC 中 Autofac依赖注入DI 控制反转IOC 了解一下 C# AutoMapper 了解一下
- .NET Core的依赖注入[1]: 控制反转
- Spring -- 控制反转IoC/依赖注入DI的实现
- C#的接口实现的依赖倒置、控制反转、依赖注入
- spring实现控制反转与依赖注入
- Spring学习3—控制反转(IOC)基于Annotation(注解)的依赖注入实现
- spring01 环境搭建、控制反转、依赖注入、springIOC和DI实现MVC模式
- Spring 依赖注入控制反转实现,及编码解析(自制容器)
- Spring学习3—控制反转(IOC)基于Annotation(注解)的依赖注入实现
- iOS控制反转(IoC)与依赖注入(DI)的实现
- 关于控制反转(IOC)容器 ,依赖注入(DI)模式必读文章收集
- 控制反转和依赖注入的释义
- Spring控制反转和依赖注入两个概念以及容器
- 控制反转(IOC)和依赖注入(DI)的区别
- 控制反转容器& 依赖注入模式 ---读感。
- 控制反转/依赖注入/依赖查找