【发布时间】:2012-12-18 19:29:22
【问题描述】:
我在 Autofac 中没有找到一种可能性。自定义生命周期管理器。
例如,在 Windsor.Castle 中,可以编写简单地从 AbstractLifestyleManager 派生的自定义生命周期管理器。
public class MyCustomLifestyleManager : AbstractLifestyleManager
{
public overrid object Resolve(CreationContext context)
{
...
}
}
有人知道如何在 autofac 中做到这一点吗?我知道标准的终身经理,但问题是我可以自己制作吗?
【问题讨论】:
-
您希望增加什么样的生活方式?根据我的经验,很少需要真正的新生活方式,其中大多数都可以通过注册代表来实现。
-
我在下面评论了这个。但我重复一遍:) 例如,我想像这样注册 UI 表单 - container.RegisterType
().Singleton().ExternallyOwned() 表单可以由用户关闭。因此,我更喜欢这样的东西——(在 Resolve 函数中)。 if (myForm.IsDisposed) 并且在这种情况下容器生成了新表单。在其他情况下 - 返回之前创建的表单 -
@evgeniy.chepurnykh 解决方案是..??
标签: c# dependency-injection autofac lifetime