将lightInject转换为.netcore DI

时间:2019-08-09 09:08:11

标签: c# dependency-injection light-inject

我正在将一些lightInject代码转换为.netcore DI

在.netcore DI中,我们具有用于注册服务的AddSingleton和AddTransient函数。 在lightInject中,我有RegisterMethod。因此,我只想知道Register方法在我们调用时是仅注册一个实例还是多个实例。

1 个答案:

答案 0 :(得分:1)

基于documentation,除非另有说明,否则LightInject的默认行为是将所有对象视为瞬态。因此,在.Net Core中,您需要将服务注册为瞬态

有关寿命的一些信息:

瞬态 每次从服务容器中请求时,都会创建瞬态生存期服务(AddTransient)。此生命期最适合轻量级,无状态服务。

范围 每个客户请求(连接)都会创建一次作用域生命周期服务(AddScoped)。

单人 单例生存期服务(AddSingleton)是在首次请求时创建的(或者在运行Startup.ConfigureServices并使用服务注册指定实例时创建)。每个后续请求都使用相同的实例。

这是.Net Core依赖项注入文档的link