正在运行的项目使用castle windsor实现了IOC/DI。项目中有很多模块。有一个名为ProcessEngine
的模块,它将Invoices
发送到我的模块进行自动过程,涉及7个步骤。IOC/DI CastleWindsor每次都会返回相同的实例
到现在为止ProcessEngine
模块使用发送Invoices
作为一个队列和我的模块完美工作。但现在ProcessEngine
发送许多发票,通过跨越他们在不同的线程,每个发票有自己的线程准备就绪,所以问题出现。
我看到的问题是,通过使用Castle Windsor创建实例,并且它每次都返回相同的对象。这意味着所有的线程都有相同的实例,并创建混乱。然后,我通过使用新的关键字创建了具有一些私有属性的主要类的实例,并且它工作正常。
有什么办法可以限制Castle Windsor容器每次为我的模块的某些类返回新实例吗?这是项目的建筑指南,必须使用Castle Windsor实例化对象,而不是使用新的关键字。有没有解决方案?
任何帮助将被高度appericiated。我没有很多Castle Windsor的知识,但我观察到它是一种Singleton模式,因为它每次使用Castle Windsor都会返回相同的对象。
你应该考虑使用段落,而不是使用它们使你的问题难以阅读。 – svick