.NET7依赖注入 延迟加载模式
延迟加载(Lazy Loading)模式是指在服务被首次请求时,才对其进行初始化。这种模式可以减少程序启动时间和资源消耗。示例代码如下:
// MyService 类定义
public class MyService
{
private readonly Lazy<MyDependency> _myDependency;
public MyService(Lazy<MyDependency> myDependency)
{
_myDependency = myDependency;
}
public void DoSomething()
{
// 在第一次访问 MyDependency 实例时进行实例化
_myDependency.Value.DoSomething();
}
}
// MyDependency 类定义
public class MyDependency
{
public void DoSomething()
{
Console.WriteLine("MyDependency.DoSomething called");
}
}
// 注册 MyService 和 MyDependency
services.AddScoped<MyService>();
services.AddScoped<MyDependency>();
// 使用 MyService
var myService = serviceProvider.GetRequiredService<MyService>();
myService.DoSomething();
在上述示例中,MyService 类通过构造函数注入方式依赖于 Lazy