Autofac - 添加注册后添加注册

Autofac - Add registration after a registration has been added

我想订阅一个在添加注册后调用的全局事件。

我不想为每个已注册的 service/component 手动订阅一个事件,因为那是样板代码,添加新注册时很容易忘记它。

当事件触发时,我想对已经注册的注册做一些检查,如果满足条件,e.q它是一个命名注册,它是一个引用类型,然后我想添加 additional/new注册,这应该在构建容器之前发生。

实现此目标的正确方法是什么?

我可以在派生自 Module 的 CustomModule 中执行此操作吗?

Br

Autofac 不支持“注册事件”或类似的东西——只支持解析事件。您可以做的是:

我认为这些东西的某种组合应该可以满足您的需求。但是,不幸的是,没有事件。原因是注册不仅仅是对象的简单集合,就像它们在 Microsoft.Extensions.DependencyInjection 中那样 - 注册都是回调方法,在您调用 Build 之前不会实际执行。最终的一组注册只有在那个时候才真正可用;当调用 Build 时,您无法修改回调列表 post-facto 以添加或更改注册。

该架构不太可能改变,因为它已经融入了注册构建器语法的核心。以上选项都是关于它的。