如果希望GC收集的实例正确处置,则必须使用InParentScope
吗?如果不是应该使用哪个范围?
答案 0 :(得分:2)
除了InTransientScope()
之外的任何范围都在范围的生命周期结束时被处置。没有正确的,因为范围定义了对象的生存时间,这取决于具体情况。
当对象InParentScope()
被注入的对象被垃圾收集或被Ninject取消激活时,它是Dispose
,因为它自己的范围已经结束。
请注意,如果父级的范围为InTransientScope()
,则不会跟踪该对象,因此请谨慎使用。
答案 1 :(得分:2)
如果https://github.com/ninject/ninject/wiki/Object-Scopes未涵盖您的问题,我们很乐意根据您的后续行动进行任何更改。