gpt4 book ai didi

c# - 解析 IContainer

转载 作者:IT王子 更新时间:2023-10-29 03:44:29 25 4
gpt4 key购买 nike

从应用程序的类内部获取 Autofac 容器的建议方法是什么? Autofac 是否提供解析类上的 IContainer 属性,或者我是否需要在构建容器后全局存储容器?

最佳答案

对于大多数用途,您将需要 IComponentContextILifetimeScope。这些由 Autofac 自动提供,因此您需要做的就是对其中之一进行(构造函数)依赖,然后注入(inject)当前实例。

这两个接口(interface)都提供了标准的 Resolve() 操作,而 ILifetimeScope 通过添加用于开始新的嵌套生命周期的方法扩展了 IComponentContext

想要使用容器的服务来访问其他组件的组件需要在自己的范围内进行,而不是在“全局”IContainer 范围内进行,这样才能返回正确的实例。例如。在 HTTP 请求中,注入(inject)的 IComponentContextILifetimeScope 将是当前请求的对象。

大多数需要注入(inject)上下文的问题也可以(通常更优雅地)使用关系类型来克服 - 参见:http://autofac.readthedocs.org/en/latest/resolve/relationships.html .

关于c# - 解析 IContainer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4609360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com