1

Ich benutze Castle Dynamic Proxy Interceptor in meinem Code (für die Protokollierung). Ich weiß, wie die Abfangjäger setzen auf eine Abhängigkeit, wie folgt aus:Abfangen aller Abhängigkeiten mit Castle Dynamic Proxy

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

Aber wie kann ich diese Abfangjäger ALLE meine Abhängigkeiten?

Antwort

2

Bevor Sie die Registrierung Ihrer Komponenten tun können Sie einen Handler hinzufügen, die Ihre Abfangjäger zu jeder Komponente hinzufügen wird:

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

Hat dies geholfen? –

1

Verwenden Kongressanmeldung:

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

Ich will nicht zu tun dass, weil ich bereits alle meine Abhängigkeiten registriert habe. Auch habe ich verschiedene Abhängigkeiten auf verschiedene Arten registriert (einige von ihnen Singletons einige von ihnen transient einige von ihnen mit Namen usw.), also möchte ich nicht Konvention verwenden und meine ganze Arbeit hier verlieren. – eitanby

Verwandte Themen