Hi Krzysztof, how would implementing the IHandlerSelector help me? How will I differentiate between the initial call to (continuing the example)
container.Resolve<IWriteRepository<Document>>() With castle windsor's internal attempt to resolve the SecurityRepositoryDecorator's "inner" parameter? Thanks Joni On Mar 8, 7:17 pm, Krzysztof Koźmic <[email protected]> wrote: > use IHandlerSelector > > On 3/8/2010 5:59 PM, joniba wrote: > > > Hi all, I'm trying to use Castle Windsor to implement decorator > > chains, as per Ayende's msdn post. However, I'm using the fluent API, > > and I want to know if it can be done en masse. > > > Without the decorators I have: > > > container.Register > > ( > > AllTypes.FromAssembly(assembly) > > .IncludeNonPublicTypes() > > .BasedOn(typeof(IWriteRepository<>)).WithService.Base() > > .Configure(component => > > component.LifeStyle.Transient) > > ); > > > (Which works fine.) > > My decorators also implement IWriteRepository<T>, and take as the > > inner, an IWriteRepository<T>. For example: > > > public class SecurityRepositoryDecorator<TEntity> : > > IWriteRepository<TEntity> > > { > > private IWriteRepository<TEntity> inner; > > > public SecurityRepositoryDecorator(IWriteRepository<TEntity> > > inner) > > { > > this.inner = inner; > > } > > } > > > Is this impossible because of a circular reference to > > IWriteRepository<>? > > I would like to get to: > > > var repository = container.Resolve<IWriteRepository<Document>>(); > > > And have this return a SecurityRepositoryDecorator wrapping a > > DocumentRepository. > > Any ideas are appreciated. > > > Joni -- You received this message because you are subscribed to the Google Groups "Castle Project Users" 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/castle-project-users?hl=en.
