我正在为第 3 方应用程序构建一个插件,我的插件使用 Autofac 来连接各种组件。容器是在应用程序启动时构建的,但主机应用程序稍后会调用我的命令。
调用命令时,主机应用程序会提供一些它定义的类型实例,我的组件将需要使用这些实例。我想在容器中注册这些实例,以便它可以负责连接依赖于这些实例的组件。
我知道我可以使用 ContainerBuilder 来更新现有容器,但我想在命令完成后删除这些注册,因为这些实例将不再有效。这可能吗?
也许更好的方法是使用 2 个容器...该命令可以创建一个新容器来注册这些实例,并且可以从应用程序范围的容器中解析其他组件。
如何连接这 2 个容器,以便解析调用冒泡到应用程序范围的容器?
这种方法有什么需要注意的问题吗?我想可能存在组件生命周期问题......
编辑:现在我做了更多的研究和测试,结果证明我可以使用 BeginLifetimeScope(Action
最佳答案
正如我在上面的编辑中所指出的,事实证明 BeginLifetimeScope(Action
关于autofac - 组件可以临时注册到 Autofac 容器中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7748394/