依賴注入
1.註冊
依賴注入首先必須要在Startup.cs中先行註冊,等待要用的時候再注入使用,而註冊方式寫在ConfigureServices
裡面,比如
public void ConfigureServices(IServiceCollection services){services.AddTransient<ILandRepository, LandRepository>();
//將我寫類LandRepository注入}
通常第一個泛型會用Interface包裝,第二個泛型則是實作類型。
2.使用
public class HomeController : Controller
{
private readonly ILandRepository _landRepository;
public HomeController(ILandRepository landRepository)
{
_landRepository= landRepository;
}
public string get()
{
return _landRepository.GetLand();
}
}
使用建構元的方式注入,注入私有變量後,就能使用了。
Service 生命週期
上面的例子 ,再注入時使用AddTransient,是使用Transient 進行注入,其實有三種,分別為:
Transient:生命週期為每次注入
Scoped:生命週期為每次Request
Singleton:生命週期為每個程式被建立