質問

インターセプターを登録し、コンテナキャッスルカーネルに既に登録されているコンポーネントのサブセットに対してこのインターセプターを登録する必要がある施設があります。

施設は別のアセンブリに住んでおり、さまざまなアセンブリから使用することを目的としているため、インターセプター登録とこの施設を使用する各アセンブリのコンポーネント登録を結合することはできません。

これを行うことは可能ですか?この機能を達成するにはどうすればよいですか?

役に立ちましたか?

解決

通常、私が施設を使用する方法は次のようなものです:

// 1. create the container
var container = new WindsorContainer();

// 2. add all the facilities I need
container.AddFacility<SomeFacility>();
contianer.AddFacility<SomeOtherFacility>();

// 3. install all the components
container.Install(FromAssembly.This());

施設は通常、どちらかを購読します コンテナイベント, 、独自のコンポーネントの一部を登録するか、追加する ComponentModel 建設貢献者 それは調べて拡張します ComponentModel 登録されているコンポーネントの。

そうすれば、コンポーネントに対して完全に透過的であり、コンポーネントと施設間の明示的な結合に課すことができます(必要でない限り)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top