我对依赖生命周期的概念很陌生。我已阅读有关different lifetime types的文档。
对于InstancePerDependency,默认值。该页面讨论了在lifetimescope中进行解析,以便容器正确处理它。我能理解这一点。
但是当Autofac通过构造函数自动注入依赖时呢?当Web请求完成时,容器是否仍然保留引用?
答案 0 :(得分:4)
请注意,使用Autofac集成库标准工作单元 生命周期范围将自动创建和处理。 例如,在Autofac的ASP.NET MVC集成中,一个生命周期范围 将在Web请求开始时为您创建 组件通常会从那里解决。在结束时 网页请求,范围将自动处理 - 没有额外的 您需要创建范围。如果你正在使用其中一个 集成库,你应该知道什么 您可以使用自动创建的范围。
换句话说,如果Autofac正在创建您的控制器来处理Web请求(如果它注入依赖关系,那么它必须是这样),那么将使用为每个控制器创建的范围来解析依赖关系,并在Web请求结束时进行处理。