2

必要な機能を実現するためのベストプラクティスがあるかどうか疑問に思っていました。

起動時にリフレクションを使用して特定のアセンブリ (プラグイン) をスキャンし、それらの依存関係を共通のカーネルに対して登録する Web アプリケーションがあります。

外部ライブラリには同じ依存関係が必要な場合があります。

たとえば、ライブラリ A がスキャンされ、その依存関係 D1 が登録されます。次に、ライブラリ B がスキャンされ、同じ依存関係 (D1) をカーネルに対して再度登録しようとします。同じコンポーネントを 2 回登録しようとすると、Castle は明らかに文句を言います。

私の質問は、既に登録されているコンポーネントを単にスキップしたい場合に、通常どのようにシナリオを処理するかということです。このタスクを実行する IWindsorContainer の拡張メソッドはありますか?

前もって感謝します。

4

2 に答える 2

0

すべての依存関係 (サービス) がそれらのプラグイン アセンブリにのみ含まれていることが確実な場合は、先に進んで、すべてのプラグインからすべてのサービスを登録することができます (どのタイプを正確に登録する必要があるかを知っていると仮定します。つまり、何らかの形でマークを付けていると仮定します)。組み立て。これはコンテナー自体によって処理されるため、依存関係を手動で解決する必要はありません。そのため、順序付けや二重登録の問題について心配する必要はありません。

于 2013-05-22T19:56:20.077 に答える