gpt4 book ai didi

.net - 解析类型时是否可以更改配置的生命周期管理器?

转载 作者:行者123 更新时间:2023-12-04 06:35:27 24 4
gpt4 key购买 nike

我将我的 Unity 配置为能够使用我自己的生命周期管理器(每个 http 请求)解析多种类型。现在在一种特殊的初始化方法中,我需要获取解析类型结构的新实例,并且我不希望这些实例被存储并在后续 Resolve 中重用。调用 = 对于这个特殊方法,我需要 transient 生命周期管理器。

我想避免第二个容器配置,因为它将是第一个具有不同生命周期管理器的副本。解析类型时是否有可能以某种方式覆盖生命周期管理器配置?

这个问题是针对我的 previous question因为我正在寻找更好的方法来做到这一点。

编辑:

我知道我可以创建多个命名注册,但是仅仅因为更改生命周期管理器,就需要再次创建大部分配置。

最佳答案

我认为 - 正如您所指出的 - 我们可以使用具有两个不同生命周期配置的两个单独的注册。但是你似乎对这个设置不满意,你想通过注册时的生命周期 .

我的建议是创建一个扩展方法,它需要一个额外的生命周期并检查容器的此类注册,如果它不存在,它会注册它并返回您需要的设置。

但说实话,我确实对这种方法有问题 ,即使框架中存在这样的方法。 IoC 容器删除依赖项的知识,但您将此知识添加回客户端/依赖项 反对 国际奥委会原则。

关于.net - 解析类型时是否可以更改配置的生命周期管理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4933481/

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