このプロジェクトは、Castle Windsor を使用して IOC/DI を実装しています。プロジェクトには多くのモジュールがあります。7つのステップを含む自動プロセスのモジュールにProcessEngine
送信するというモジュールがあります。Invoices
これまで、モジュールはキューのように 1 つずつProcessEngine
送信するために使用されていましたが、私のモジュールは完全に機能していました。Invoices
しかし今ProcessEngine
では、それぞれの請求書に独自のスレッドがあるため、異なるスレッドにまたがって準備ができている多くの請求書を送信するため、問題が発生します。
問題は、Castle Windsor を使用してインスタンスが作成され、毎回同じオブジェクトが返されることです。つまり、すべてのスレッドが同じインスタンスを持ち、混乱を引き起こします。次に、 newキーワードを使用していくつかのプライベート プロパティを持つ主要なクラスのインスタンスを作成し、正常に機能しました。
モジュールの一部のクラスについて、Castle Windsor コンテナーが毎回新しいインスタンスを返すように制限する方法はありますか? new キーワードを使用せず、Castle Windsor を使用してオブジェクトをインスタンス化する必要があるというのが、プロジェクトのアーキテクチャ ガイドラインです。これに対する解決策はありますか?
どんな助けでも非常に高く評価されます。Castle Windsor についての知識はあまりありませんが、Castle Windsor を使用して毎回同じオブジェクトを返すシングルトン パターンの一種であることがわかりました。