gpt4 book ai didi

c# - IOC/DI CaSTLeWindsor 每次都返回相同的实例

转载 作者:行者123 更新时间:2023-11-30 22:24:15 25 4
gpt4 key购买 nike

该项目正在使用 caSTLe windsor 实现 IOC/DI。项目中有很多模块。有一个名为 ProcessEngine 的模块将 Invoices 发送到我的模块以进行自动处理,这涉及 7 个步骤。

到目前为止,ProcessEngine 模块用于在队列中一个接一个地发送 Invoices,我的模块运行良好。但是现在 ProcessEngine 发送许多发票,这些发票通过在不同的线程中跨越它们而准备就绪,每个发票都有自己的线程,所以问题出现了。

我看到的问题是实例是使用 CaSTLe Windsor 创建的,它每次都返回相同的对象。这意味着所有线程都有相同的实例,这会造成困惑。然后,我使用 new 关键字创建了具有一些私有(private)属性的主要类的实例,它运行良好。

有什么方法可以限制 CaSTLe Windsor 容器每次为我的模块的某些类返回新实例吗?项目的体系结构指南必须使用 CaSTLe Windsor 而不是实例化对象使用新关键字。有什么解决办法吗?

我们将不胜感激任何帮助。我对 CaSTLe Windsor 了解不多,但我观察到它是一种单例模式,因为它每次使用 CaSTLe Windsor 都会返回相同的对象。

最佳答案

你需要检查lifestyles .

默认行为是单例,这意味着当您请求解析时它确实会返回相同的实例。

您可以使用 PerThread 或 Transient 生活方式。

关于c# - IOC/DI CaSTLeWindsor 每次都返回相同的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12883900/

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