IoC寿命差异

本文关键字:IoC | 更新日期: 2023-09-27 18:02:42

我是c#新手,刚开始在web api中学习IoC。TransientPerWebRequest的生活方式有什么不同

对不起,我的英语不好。

IoC寿命差异

  • 单例

它的意思是"一个实例为所有"。每次调用Resolve(甚至隐式)时,您都会得到相同的对象

  • 瞬态

singletone相反。你会得到你调用Resolve

的所有对象
  • PerWebRequest

阅读Singleton如何处理一个请求和transient如何处理另一个请求(您将获得与请求接收一样多的对象)

要了解更多信息,请参阅标题。温莎手册或官方asp.net文档

PerWebRequest作用域从会议开始一直持续到会议结束。只要您持有对已解析实体的引用,瞬态就存在。AddTransient方法用于将抽象类型映射到具体的服务,这些服务为每个需要它的对象单独实例化。

参考:Asp。网络依赖注入

瞬态意味着您拥有与称为Ioc容器的对象一样多的对象。这也意味着你必须处理掉所有你创建的一次性物品。

PerWebRequest意味着每个请求都有一个实例,所以如果你有多个请求在服务器上运行,每个请求都有自己的对象实例。可丢弃的对象可以由IoC框架来处理。

相关文章:
  • 没有找到相关文章