0

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

我不想为每个注册的服务/组件手动订阅一个事件,因为这是样板代码,在添加新注册时很容易忘记它。

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

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

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

4

1 回答 1

1

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

我认为这些东西的一些组合应该让你得到你正在寻找的东西。但是,不幸的是,没有事件。原因是注册不仅仅是对象的简单集合Microsoft.Extensions.DependencyInjection——注册都是回调方法,直到你调用Build. 最终的注册集只有在那时才真正可用;当Build被调用时,您不能事后修改该回调列表以添加或更改注册。

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

于 2021-12-09T18:17:14.060 回答