服务寿命瞬态,作用域,单例

时间:2018-10-12 07:20:23

标签: c# asp.net asp.net-core dependency-injection

我在

上找到了一篇文章

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-2.1

并解释了asp.net核心DI和服务寿命。

文章提到了以下生命周期:

  • 瞬变
  • 范围
  • 单人

我正在尝试找到一个真实的例子,或者至少是关于何时使用每个生命周期的更好解释。

1 个答案:

答案 0 :(得分:4)

3个示例:

Singltons-这些可能存在于整个应用程序范围的配置设置中,例如游戏管理器,它跟踪玩家在整个游戏中的进度。

作用域-建议将实体框架上下文限制为作用域,以便您可以重用连接属性。

瞬态-实体框架上下文不能由2个线程共享,因此如果您想进行任何异步工作。您将使用瞬态,以便为每个组件创建上下文的新实例。否则,您将不得不等待作用域组件完成,然后再移入下一个组件。