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());
            
}
相关推荐
MSTcheng.2 天前
探索昇腾底层逻辑:从ops-nn视角解读aclnn两阶段设计理念
mvc
勤奋的小王同学~3 天前
SpringMVC
java·spring·mvc
IT 行者5 天前
Spring MVC 慎用@InitBinder,谨防内存泄漏
java·spring·mvc
树码小子5 天前
SpringMVC(6) :阶段总结
spring·mvc
风景的人生6 天前
application/x-www-form-urlencoded
java·mvc
树码小子6 天前
SpringMVC(12)综合案例练习:图书管理系统(后续仍会使用)
spring·mvc
码云数智-园园6 天前
从 ASP.NET MVC 到现代 .NET:一份完整的迁移升级指南
asp.net·mvc·.net
lfq7612046 天前
.NET Framework 下 C# MVC 项目敏感信息安全存储方法
安全·c#·mvc·.net
灵感菇_7 天前
详细解析 MVC/MVP/MVVM/MVI 架构
架构·mvc·mvvm·mvp·mvi
树码小子7 天前
SpringMCV(9)响应:返回静态页面 & 修改响应数据
spring·mvc