3

我有IService几个组件依赖的服务。组件根据用户操作来来去去。

碰巧 的实现IService很昂贵,我希望在所有组件之间共享 1 个实例。到目前为止一切顺利,我可以使用:

builder.RegisterType<ExpensiveStuff>().As<IService>().SingleInstance();

然而,我不想ExpensiveStuff一旦建成就永远活下去;我只希望它在一个或多个组件持有对它的引用时存在。

在 Autofac 中是否有内置的方法来实现这一点?

4

1 回答 1

1

我认为您必须确保您对这些依赖项的使用发生在实例范围内

Orchard 项目可能是这里的灵感来源。他们为工作单元使用一组范围;查看ShellContainerFactory.cs源文件

于 2012-08-10T16:55:19.693 回答