该项目正在使用城堡windsor实施IOC / DI。项目中有很多模块。有一个名为ProcessEngine
的模块将Invoices
发送到我的自动流程模块,涉及7个步骤。
到目前为止ProcessEngine
模块用于逐个发送Invoices
,如同在队列中一样,我的模块完美运行。但是现在ProcessEngine
通过在不同的线程中跨越它们发送许多已准备好的发票,每个发票都有自己的线程,因此出现了问题。
我看到的问题是实例是使用Castle Windsor创建的,并且每次都返回相同的对象。这意味着所有线程都具有相同的实例,并且会产生混乱。然后我使用 new 关键字创建了具有一些私有属性的主要类的实例,并且它工作正常。
有没有什么方法可以限制Castle Windsor容器每次为我的模块的某些类返回新实例?这是项目的架构指南,该对象必须使用Castle Windsor实例化而不是使用新关键字。这有什么解决方案吗?
任何帮助都会得到很高的评价。我对Castle Windsor没有多少了解,但我发现它是一种Singleton Pattern,因为它每次使用Castle Windsor返回相同的物体。