在使用.net core时,依赖注入,主要使用通过构造函数注入。小编将通过扩展方式,实现在类中各个地方可以控制反转,获取实例。

1、首先自定义扩展类

  1. using Microsoft.AspNetCore.Builder;

  2. using System;

  3. namespace Microsoft.Extensions.DependencyInjection

  4. {

  5. public static class DI

  6. {

  7. public static IServiceCollection Services { get; set; }

  8. public static IServiceProvider ServiceProvider { get; set; }

  9. }

  10. public static class Extensions

  11. {

  12. public static IServiceCollection AddTfDI(this IServiceCollection services)

  13. {

  14. DI.Services = services;

  15. return services;

  16. }

  17. public static IApplicationBuilder UseTfDI(this IApplicationBuilder builder)

  18. {

  19. DI.ServiceProvider = builder.ApplicationServices;

  20. return builder;

  21. }

  22. }

  23. }

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:

.net core 依赖注入扩展,实现随处控制反转的更多相关文章

  1. .NET CORE学习笔记系列(2)——依赖注入【1】控制反转IOC

    原文:https://www.cnblogs.com/artech/p/net-core-di-01.html 一.流程控制的反转 IoC的全名Inverse of Control,翻译成中文就是“控 ...

  2. php依赖注入与容器,Container,控制反转

    依赖注入与Ioc容器 概念: 容器:可以理解为用来存放某个东西的物品(篮子?),存放的东西取决于你想往里面放点什么.在这里,我们是存放某个类,类的描述或者一个返回类实例的闭包函数. Ioc(Inver ...

  3. 设计模式之————依赖注入(Dependency Injection)与控制反转(Inversion of Controller)

    参考链接: 依赖注入(DI) or 控制反转(IoC) laravel 学习笔记 —— 神奇的服务容器 PHP 依赖注入,从此不再考虑加载顺序 名词解释 IoC(Inversion of Contro ...

  4. ASP.NET Core 依赖注入基本用法

    ASP.NET Core 依赖注入 ASP.NET Core从框架层对依赖注入提供支持.也就是说,如果你不了解依赖注入,将很难适应 ASP.NET Core的开发模式.本文将介绍依赖注入的基本概念,并 ...

  5. 深入理解ASP.NET Core依赖注入

    概述        ASP.NET Core可以说是处处皆注入,本文从基础角度理解一下原生DI容器,及介绍下怎么使用并且如何替换官方提供的默认依赖注入容器. 什么是依赖注入        百度百科中对 ...

  6. # ASP.NET Core依赖注入解读&使用Autofac替代实现

    标签: 依赖注入 Autofac ASPNETCore ASP.NET Core依赖注入解读&使用Autofac替代实现 1. 前言 2. ASP.NET Core 中的DI方式 3. Aut ...

  7. NET Core依赖注入解读&使用Autofac替代实现

    NET Core依赖注入解读&使用Autofac替代实现 标签: 依赖注入 Autofac ASPNETCore ASP.NET Core依赖注入解读&使用Autofac替代实现 1. ...

  8. ASP.NET Core依赖注入解读&使用Autofac替代实现【转载】

    ASP.NET Core依赖注入解读&使用Autofac替代实现 1. 前言 2. ASP.NET Core 中的DI方式 3. Autofac实现和自定义实现扩展方法 3.1 安装Autof ...

  9. Webservice WCF WebApi 前端数据可视化 前端数据可视化 C# asp.net PhoneGap html5 C# Where 网站分布式开发简介 EntityFramework Core依赖注入上下文方式不同造成内存泄漏了解一下? SQL Server之深入理解STUFF 你必须知道的EntityFramework 6.x和EntityFramework Cor

    Webservice WCF WebApi   注明:改编加组合 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下, ...

随机推荐

  1. 关于python中的pickle函数

    8-7参考阅读 - 读文件.写文件.异常处理.文件保存游戏.pickle数据转成文本的过程又被称为"序列化",即将对象状态转换为可保持或传输的格式的过程.对应的,从序列化的格式中解 ...

  2. DB2插入数据 sqlcode302 sqlstate22001错误如何解决?

    总结:出现这种错误的原因主要是,插入数据时的长度和数据库中定义的长度不匹配或超出限制.

  3. python 的日志logging模块学习

    1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.info('This is info messa ...

  4. 在sqlserver2005/2008中备份数据库,收缩日志文件

    ---1.先备份数据库(含日志文件) use myhis go backup database myhis to disk='d:\myhis_rzbak' go ---2.设为简单恢复模式 use ...

  5. Mybatis,Spring,SpringMVC框架面试题

    Mybatis测试 1,   Mybatis的核心是(  sqlsessionfactory    ) 2,   使用Mybatis持久化框架进行数据查询需要返回的一个实体类的集合, 在<sel ...

  6. 【特效】hover效果之四线动画

    效果预览:http://www.gbtags.com/gb/rtreplayerpreview-standalone/3102.htm html: <div class="wrap&q ...

  7. Apache配置腾讯云SSL证书指引

    一.安装Apache 1) 使用yum安装Apache # yum install httpd 2) 修改测试页面 # vim /var/www/html/index.heml PS:修改为测试内容, ...

  8. win10 uwp MVVM入门

    MVVM 是一个强大的架构,基本从 WPF 开始,wr(我说的就是微软)就提倡使用 MVVM.它可以将界面和后台分离,让开发人员可以不关心界面是怎样,全心投入到后台代码编写中. 然后在编写完后台代码后 ...

  9. servlet过滤器简化版

    什么是过滤器 在struts2 中集成了过滤器,并可以根据需要选择合适自己的过滤器进行配置 , 过滤器:是基于函数回调的,运用java中的反射机制工作在struts2只能对于action起作用,在se ...

  10. Android实现购物车功能

    如图: 主要代码如下: actvity中的代码: publicclassShoppingCartActivity extendsBaseActivity {      private List< ...