• Asp.Net Core 第04局:依赖注入


    总目录


    前言

    本文介绍Asp.Net Core中默认的依赖注入(DI)模式。
    

    环境

    1.Visual Studio 2017
    2.Asp.Net Core 2.2
    

    开局

    第一手:依赖注入说明

    1.一个例子
    主机和主机中硬盘,可以说主机中硬盘是主机的依赖项,若更换硬盘,需拆主机。
    若将硬盘通过USB接口外接,那么只需将新硬盘接入USB口即可。
    
    2.例子代码
     
     
    3.控制反转(IoC)
     
     
     
     
    控制反转:将依赖交给第三方容器管理。
    控制反转与依赖注入的关系:控制反转是一种思想,依赖注入是控制反转的一种实现。
    
    4.依赖注入(DI)
    现在再回到Startup中看看Asp.Net Core中的依赖注入。
    
     
     
    1.代码中这些均为依赖注入,这些由框架实现,以后源码解读时再做详述;
    2.下面介绍Asp.Net Core自带的依赖注入框架对服务依赖的注册和使用。
    

    第二手:依赖注入 - 注册服务

    Asp.Net Core中向容器中注册服务有三种方法,其区别在于生命周期不同:
        - AddTransient:每次请求会获取一个新实例,即:每次GetService都会获取一个新实例
        - AddScoped   :每个请求会获取一个新实例,即:在一个请求内,每次GetService都会获得同一个实例
        - AddSingleton:每次请求会获取同一个实例,即:在应用程序生命周期内,每次GetService都会获得同一个实例
    
     
     
     
     
     
     
    所说的生命周期实际对应于类实例的创建时机,GetService实际是获取类的实例。
    容器根据注册方式不同,判断是否需要创建新实例返回。
    

    第一手:依赖注入 - 使用服务

    1.Startup中使用
     
     
    2.Controller构造函数注入
     
     
     
     
     
     
    3.View注入
    在Startup中的注册方式同Controller,这里只显示在View注入方式。  
    
     
     
     
     

    终局

    本文介绍Asp.Net Core中默认的依赖注入(DI)模式,下局介绍读取配置文件,待续...
    

    总目录



    作者:dotNET之家
    链接:https://www.jianshu.com/p/412f62ef55dc
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    org.tinygroup.ehcache-EhCache缓存解决方案
    org.tinygroup.validate-验证框架
    org.tinygroup.context-上下文环境
    org.tinygroup.commons-常用工具类
    org.tinygroup.context2object-参数对象构建
    org.tinygroup.config-统一应用配置
    org.tinygroup.binarytree-二叉树
    org.tinygroup.service-服务
    flask之wtform与flask-session组件
    Flask信号源码流程
  • 原文地址:https://www.cnblogs.com/Jeely/p/10959852.html
Copyright © 2020-2023  润新知