I think you can use component forwarding for this: component "one", IInterface, Implementation1 component "two", IInterface, Implementation2
extend "two" < IInterface all calls to Resolve<IInterface>() should be redirected to "two" On Feb 20, 8:24 am, Bart Reyserhove <[email protected]> wrote: > You can redirect future calls from the previous component to the new one, > though > I cannot seem to find any information on this. Is there documentation on > Windsor available that describes this? > > On Wed, Feb 18, 2009 at 10:17 PM, Ayende Rahien <[email protected]> wrote: > > No, you can't.Not only that, but you can't rely on the ability to remove a > > component from the container. > > You can redirect future calls from the previous component to the new one, > > though. > > > On Wed, Feb 18, 2009 at 3:54 PM, Bart Reyserhove < > > [email protected]> wrote: > > >> I want to completely replace a component. I did not think it was possible > >> with extend > > >> On Wed, Feb 18, 2009 at 9:52 PM, Ayende Rahien <[email protected]> wrote: > > >>> Not following... > > >>> On Wed, Feb 18, 2009 at 3:51 PM, Craig Neuwirt <[email protected]>wrote: > > >>>> extend only extends dependencies and interface forwaring.. > > >>>> On Wed, Feb 18, 2009 at 2:49 PM, Ayende Rahien <[email protected]>wrote: > > >>>>> Why can't you use extend? > >>>>> That is why it is here > > >>>>> On Wed, Feb 18, 2009 at 3:23 PM, Bart Reyserhove < > >>>>> [email protected]> wrote: > > >>>>>> I noticed this week you could extend existing components but can you > >>>>>> also override them? > >>>>>> I mean by override something in the following style: > > >>>>>> for type in AllTypesBased of IController("WineCellar.Web"): > >>>>>> component type.Name.ToLower(), type: > >>>>>> lifestyle Transient > >>>>>> interceptor LoggingInterceptor > > >>>>>> Component "winecontroller",WineController of > >>>>>> ParkerWine,ParkerWineController: > >>>>>> lifestyle Transient > > >>>>>> You have probably guessed already. The component with key > >>>>>> "winecontroller" is already registered in a statement that just > >>>>>> registers > >>>>>> all controllers. I don't want to register all my controllers manually, > >>>>>> but > >>>>>> then again I want to overwrite one of the controllers for a specific > >>>>>> tenant. > > >>>>>> I think there are different possibilities to do this: > > >>>>>> 1. This would be easy enough to do by just checking in "Component" > >>>>>> whether the component was already registered and if that is the > >>>>>> case, remove > >>>>>> it again and register the second one. Now this throws an exception. > >>>>>> 2. Add a new overload for Component > >>>>>> 3. Add "Override" in a similar way as "Extend" > > >>>>>> What do you think? > > >>>>>> Bart --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en -~----------~----~----~----~------~----~------~--~---
