使用Autofac进行运行时注册
|
在与同事讨论Autofac时,出现了依赖项的运行时注册问题。例如,在Prism中,程序集经常在运行时加载,并且其依赖项已向IoC容器(通常是Unity)注册。
Autofac如何做到这一点?
根据Autofac的文档以及我在网上发现的内容,似乎注册是在应用程序启动时执行的。即使使用“外部”程序集,注册也会在应用程序启动时与程序集一起位于模块中。在应用启动时“内置”容器后,我们该怎么做?
(请注意,程序集可能希望添加依赖项以供应用程序中其他组件的使用,因此嵌套容器可能无法在此处解决问题。与该主题相关:Unity具有诸如RegisterIfExists之类的方法。是否有Autofac等价物?)
谢谢!
没有找到相关结果
已邀请:
2 个回复
呢率篓舍烫
更新现有的Autofac
。从博客文章Autofac 2.2 Released中获得的以下代码示例演示了用法:
Autofac和Prism集成:问题Prism集成在Autofac中的地位如何?可能对您也有用。
响摔衅幸
方法标记为
,并带有注释: 通常应将容器视为不可变的。在构建/解决之前,注册所有依赖项。如果需要更改容器的内容,则从技术上讲,应重建容器。将来的主要版本中可能会删除此方法。