1

私は城の動的プロキシインターセプタをロギング目的で使用しています。Castle Dynamic Proxyとのすべての依存関係を傍受します。

 container.Register(Component.For<MyService>(). 
      Interceptors<LoggerInterceptor>()); 

しかし、どのように私はすべての私の依存関係がにこのインターセプタを設定することができます。私はそのように、依存関係にインターセプタを設定する方法を知っていますか?

答えて

2

あなたはすべてのコンポーネントにあなたのインターセプタを追加するハンドラを追加することができ、あなたのコンポーネントのいずれかの登録を行う前に:

 container.Kernel.ComponentRegistered += (key, handler) => 
     { 
      handler.ComponentModel.Interceptors.Add(new InterceptorReference(typeof(LoggingInterceptor))); 
     }; 
+0

これは役に立ちましたか? –

1

使用大会登録:

container.Register(Classes.FromThisAssembly() 
          .Pick() 
          .WithService.Self() 
          .Configure(r => r.Interceptors<LoggerInterceptor>())); 
+0

を私はしたくありませんそれは私が既にすべての私の依存関係を登録しているからです。また、私はさまざまな方法で異なるdepenenciesを登録しました(そのうちのいくつかはシングルトンのいくつかは名前の一部をトランジェントしています)ので、ここではコンベンションを使いたいと思っています。 – eitanby

関連する問題