该项目正在使用温莎城堡实现 IOC/DI。项目中有很多模块。有一个名为 ProcessEngine
的模块,它将 Invoices
发送到我的自动流程模块,涉及 7 个步骤。
到目前为止,ProcessEngine
模块使用在队列中一张一张地发送Invoices
,并且我的模块工作得很好。但现在 ProcessEngine 发送了许多已准备好的发票,这些发票通过跨越不同的线程来发送,每个发票都有自己的线程,因此问题出现了。
我看到的问题是实例是使用 CaSTLe Windsor 创建的,并且每次都返回相同的对象。这意味着所有线程都具有相同的实例,这会造成困惑。然后我使用 new 关键字创建了具有一些私有(private)属性的主要类的实例,并且效果很好。
有什么方法可以限制 CaSTLe Windsor 容器每次为我的模块的某些类返回新实例吗? 这是该项目的架构指南,对象必须使用 CaSTLe Windsor 实例化,而不是使用 new 关键字。有什么解决办法吗?
任何帮助都将受到高度赞赏。我对温莎城堡了解不多,但我观察到它是一种单例模式,因为每次使用温莎城堡都会返回相同的对象。
最佳答案
关于c# - IOC/DI CaSTLeWindsor 每次都返回相同的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12883900/