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());
            
}
相关推荐
逸狼12 小时前
【JavaEE进阶】Spring MVC(2)
spring·java-ee·mvc
憶巷2 天前
深入剖析Spring MVC
java·spring·mvc
gywl3 天前
Spring Web MVC入门
spring·json·mvc·注解·cookie·session
zhyhgx4 天前
应用分层、三层架构和MVC架构
架构·mvc
天马37984 天前
Asp.Net Core MVC 中级开发教程
后端·asp.net·mvc·开发教程
zfj3215 天前
Spring MVC Streaming and SSE Request Processing& SSE可以实现chatgpt一次请求分批次响应的效果
java·spring·mvc
shepherd枸杞泡茶7 天前
第6章 6.1 ASP.NET Core MVC 项目
后端·c#·asp.net·mvc
许苑向上7 天前
Spring MVC 拦截器(Interceptor)与过滤器(Filter)的区别?
java·spring·mvc
geovindu8 天前
MVC(Model-View-Controller)framework using Python ,Tkinter and SQLite
数据库·sqlite·mvc
lllsure9 天前
【快速入门】SpringMVC
java·后端·spring·mvc