Kryzsztof, Johannes,
First, thanks, Kryssztof, for the .Named() fix - that worked. But that sent us looking a little bit more closely, and now it seems more like a bug, or at least a behavior change from 3.0 beta1. We used almost the exact same construct that worked fine until we switched to the 3.0 release binaries. Then we had to switch our interceptor registration/usage from this:
handler.ComponentModel.Interceptors.Add(new InterceptorReference(typeof(IFooInterceptor)));
to this:
handler.ComponentModel.Interceptors.Add(new InterceptorReference(typeof(FooInterceptor)));
where the interface was registered a la:
windsorContainer.Register(
Component.For<IFooInterceptor>().ImplementedBy<FooInterceptor>().DependsOn(
Dependency.OnValue("someValue", _someValue)).LifeStyle.Singleton);
Registering the interceptor with the interface instead of the base type worked in 3.0 Beta1 or thereabouts. At that point we were building our own binaries, but with no source changes other than also building mono versions with some #defines set.
Thanks for any pointers as to why this is different - I realize there may be some points about interceptors that I don't get yet that might make this obvious as to why it behaves this way now.
--
Clark