• asp.net core mvc 之 依赖注入


    一、视图中使用依赖注入

    1、core目录下添加 LogHelperService.cs 类

    1. public class LogHelperService
    2. {
    3. public void Add()
    4. {
    5. }
    6. public string Read()
    7. {
    8. return "日志读取";
    9. }
    10. }

    2、Startup.cs 文件中 注入依赖注入

    3、Views目录中 _ViewImports.cshtml 添加引用

    4、视图使用

     二、控制器使用依赖注入

    1、Startup.cs 文件中 注入依赖注入

    2、控制器中使用

    1. public class HomeController : BaseController
    2. {
    3. //通过一个字段来存储
    4. LogHelperService logHelperService;
    5. public HomeController(LogHelperService loghelperservice)
    6. {
    7. this.logHelperService = loghelperservice;
    8. logHelperService.Add();
    9. }
    10. }

    三、接口方式接收依赖对象

    1、提取接口

    1. public interface ILogHelperService
    2. {
    3. void Add();
    4. string Read();
    5. }

    2、Startup.cs 文件中 注入依赖注入

    services.AddTransient();

    3、控制器使用

    1. public class HomeController : BaseController
    2. {
    3. //通过一个字段来存储
    4. ILogHelperService ilogHelperService;
    5. public HomeController(ILogHelperService iloghelperservice)
    6. {
    7. this.ilogHelperService = iloghelperservice;
    8. ilogHelperService.Add();
    9. }
    10. }

    四、Action注入依赖对象

    1、Startup.cs 文件中 注入依赖注入

    2、Action代码

    1. //[FromServices] 这个标注 告诉MVC 这个参数不用用户传递过来的get post方式。
    2. //而是依赖容器传递过来的
    3. //还可以接收传递过来的值
    4. public IActionResult Contact([FromServices] ILogHelperService loghelper)
    5. {
    6. return Content(loghelper.Read());
    7. }

  • 相关阅读:
    第四章 - vi和vim编辑器
    PON串口链接上网步骤
    手机影像内卷几时休?
    贪心算法-总概
    JAVA设计模式第十讲:SPI - 业务差异解决方案
    zookeeper/HA集群配置
    【钩子函数和cookie与session简介】
    推荐一个对pytorch代码详细注释的github项目
    <计算机网络自顶向下>
    goweb开发实战笔记(一)
  • 原文地址:https://blog.csdn.net/tiz198183/article/details/134425738