pan*_*nis 11 c# autofac autofac-configuration
我在服务中传递了IContainer,所以我读到传递它并不好,而是只将其用于应用程序的根目录并传递IComponentContext或ILifetimeScope.所以我试图了解哪些应该使用IComponentContext或ILifetimeScope.不明白其中的区别
Jer*_*oen 18
ILifetimeScope扩展了IComponentContext.它添加了一些开始新生命周期范围的方法.如果您需要创建一个新的生命周期范围,那么请依赖ILifetimeScope,否则我建议IComponentContext,这样您就不会请求比所需更多的功能.
依赖于任何一个都不是反模式.您的DI感知代码与DI-unaware外部世界之间始终存在边界.例如,Windows不了解DI,但您的代码依赖于Autofac.在这个边界上你需要使用ILifetimeScope或IComponentContext弥补这个差距.但是,如果您可以通过Autofac注入依赖项而不是从a中检索IComponentContext,那么您应该这样做,因为这是首选选项.
| 归档时间: |
|
| 查看次数: |
3204 次 |
| 最近记录: |