依赖注入
net core 内置方式
接口
public interface ITestService { string Test(); }
实现
public class TestService : ITestService { public string Test() { return "依赖注入"; } }
生命周期
Transient(瞬变):每次请求时都会创建的临时生命周期服务
Scoped(范围内):同一个http请求返回同一个服务实例,贯穿始终
Singleton(唯一的):首次请求创建 Singleton 服务。然后,所有后续的请求中都会使用相同的实例
在Startup下的ConfigureServices中进行注入
注入方式
services.AddTransient<ITestService, TestService>();
services.AddScoped<ITestService, TestService>();
services.AddSingleton<ITestService, TestService>();
在控制器中进行使用
private readonly ITestService _TestService; public HomeController(ITestService TestService) { _TestService = TestService; } public IActionResult Index() { _TestService .Test(); return View(); }