何时使用ExternallyControlledLifetimeManager?

时间:2011-02-23 08:58:15

标签: .net asp.net-mvc unity-container enterprise-library enterprise-library-5

我正在使用Unity中可用的不同LifetimeManagers,并且想知道我们何时会使用ExternallyControlledLifetimeManager?有人可以给我一个真实的例子吗? MSDN doc说“LifetimeManager将弱引用保存到它的托管实例中”..

开发人员如何管理实例?何时应该去找这样的终身经理?您对如何以及何时使用它的想法对我和其他人来说都很有用。 谢谢!

1 个答案:

答案 0 :(得分:11)

如果您要注册由其他框架或库创建的对象并且您无法控制其生命,例如由第三方库提供的单例,这可能很有用。

因为容器只保留弱引用,所以如果没有任何强引用,GC将删除该单例。 IMO,只有在无法管理实例的生命周期时才应使用它。