一、视图中使用依赖注入
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());
}