asp.net core mvc 之 依赖注入

一、视图中使用依赖注入

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

复制代码
    public class LogHelperService
    {
        public void Add()
        {

        }
        public string Read()
        {
            return "日志读取";
        }
    }

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

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

4、视图使用

二、控制器使用依赖注入

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

2、控制器中使用

cs 复制代码
public class HomeController : BaseController
{

        //通过一个字段来存储
        LogHelperService logHelperService;

        public HomeController(LogHelperService loghelperservice)
        {
            this.logHelperService = loghelperservice;
            logHelperService.Add();
        }
}

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

1、提取接口

cs 复制代码
    public interface ILogHelperService
    {
        void Add();
        string Read();
    }

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

services.AddTransient<ILogHelperService, LogHelperService>();

3、控制器使用

cs 复制代码
public class HomeController : BaseController
{

        //通过一个字段来存储
        ILogHelperService ilogHelperService;

        public HomeController(ILogHelperService iloghelperservice)
        {
            this.ilogHelperService = iloghelperservice;
            ilogHelperService.Add();
        }
}

四、Action注入依赖对象

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

2、Action代码

cs 复制代码
//[FromServices] 这个标注 告诉MVC 这个参数不用用户传递过来的get post方式。
//而是依赖容器传递过来的
//还可以接收传递过来的值
public IActionResult Contact([FromServices] ILogHelperService loghelper)
{
    return Content(loghelper.Read());
            
}
相关推荐
zzb15806 天前
ios基础-MVC-UIView
ios·mvc·cocoa
秋雨梧桐叶落莳8 天前
iOS——QQ音乐仿写项目总结
学习·macos·ui·ios·mvc·objective-c·xcode
mikasa6679 天前
关于Spring MVC 基于 AOP 实现的全局控制器统一处理方案@ControllerAdvice
java·spring·mvc
仍然.9 天前
Spring MVC(2)--- 介绍响应数据,具体案例和三层架构
mvc
仍然.10 天前
Spring MVC(1)---介绍Spring MVC 和 请求数据
java·spring·mvc
摇滚侠12 天前
Spring MVC 不是一个单独的框架,是 Spring 框架的一个模块
java·spring·mvc
我登哥MVP13 天前
Spring Boot 从“会用”到“精通”:SpringBoot MVC 请求处理全流程
java·spring boot·后端·spring·mvc·maven·intellij-idea
摇滚侠14 天前
JavaWeb 全套教程 MVC 模式 93
mvc
代码的小搬运工15 天前
【iOS】MVC架构
ios·架构·mvc
qq_25183645716 天前
基于MVC的学校食堂点餐管理系统的设计与实现
mvc