Castle Windsor を学んでいて、AOP を使用していくつかの問題を解決しようとしていましたが、これを達成するために傍受機能を使用したいと考えていました。
次のようにして、単一のコンポーネントで動作させる方法を見つけました。
container.Register(Component.For<IInterceptor>()
.ImplementedBy<BankServiceLogger>()
.Named("BankServiceInteceptor"));
container.Register(Component.For<IBankService>()
.ImplementedBy<BankService>()
.Interceptors(InterceptorReference.ForKey("BankServiceInteceptor")).Anywhere
.LifestyleTransient());
私の問題は、ここで行ったようにコントローラーなどのクラスを登録するときです
container.Register(Classes.FromThisAssembly()
.BasedOn<IController>()
.LifestyleTransient());
インターセプターがこれを使用しているようには見えません。
複数のクラスを登録するときにインターセプトを行う方法はありますか、またはこれを達成するために各コンポーネントを個別に登録する必要がありますか?