据我所知,他们做的事情几乎相同,以 IoC/DI 的形式提供服务。但是,IAmbientServices
有一个类型的成员ICompositionContext
。我真的不明白它们两者之间的区别,为什么它们以这种方式聚合?
问问题
38 次
1 回答
1
简洁的答案是:在构建 IoC/DI/composition 容器之前ambient services
注册的包含服务,而是 IoC/DI 的根容器,并且本身是注册到.composition context
ambient services
附带说明一下,在 中注册的所有服务ambient services
稍后也会在 DI 容器中自动注册,包括IAmbientServices
,因此它们也可用于组合。
环境服务示例:
- 日志管理器:记录器的提供者。
- 类型加载器:从程序集中加载类型。
- 配置存储:提供主要配置设置。
作为一般经验法则,更喜欢使用在 DI 容器中注册的服务,您将很少需要环境服务。
于 2019-03-31T18:07:05.193 回答