I agree with Ayende. Speficying it on a per-method basis would lead to
monstrously big and unmaintainable config files.
The most finegrained solution that would also be acceptable IMHO would
be specifying InterceptorSelector in configuration.
<component id="IOrderRepository"
service="Components.IOrderRepository, Components"
type="Components.OrderRepository, Components">
<interceptors Selector="${OrderRepositoryInterceptorSelector}">
<interceptor>${LoggingInterceptor}</interceptor>
<interceptor>${VerifyDateInterceptor}</interceptor>
</interceptors>
</component>
or
<component id="IOrderRepository"
service="Components.IOrderRepository, Components"
type="Components.OrderRepository, Components">
<interceptors SelectorType="OrderRepositoryInterceptorSelector,
Acme.FooBar">
<interceptor>${LoggingInterceptor}</interceptor>
<interceptor>${VerifyDateInterceptor}</interceptor>
</interceptors>
</component>
Krzysztof
Ayende Rahien pisze:
> From experience, that way leads to madness.
> You are starting to do TOO MUCH in the configuration. You have no way
> of really keeping track of this.
>
> 2009/4/27 scott_m <[email protected] <mailto:[email protected]>>
>
>
> Would be really cool if you could do something like this via config:
>
> <component id="IOrderRepository"
> service="Components.IOrderRepository, Components"
> type="Components.OrderRepository, Components">
>
> <interceptors>
> <interceptor>${LoggingInterceptor}</interceptor>
> <methods>
> <method>GetAll<method>
> <methods>
> </interceptors>
>
> </component>
>
>
>
>
>
>
> On Apr 27, 11:40 am, Krzysztof Koźmic <[email protected]
> <mailto:[email protected]>>
> wrote:
> > What about IInterceptorSelector?
> >
> > It's not accessible from config, but it is from code. At least by
> > DynamicProxy, not sure Windsor exposes it.
> > How do you think a configuration for that should look like?
> >
> > Krzysztof
> >
> > Ayende Rahien pisze:
> >
> > > no, you can't do that
> >
> > > On Mon, Apr 27, 2009 at 7:14 PM, scott_m <[email protected]
> <mailto:[email protected]>
> > > <mailto:[email protected] <mailto:[email protected]>>> wrote:
> >
> > > The ability to specify which service methods an
> Interceptor should
> > > apply to (Not all or nothing).
> >
> > > On Apr 27, 11:05 am, Ayende Rahien <[email protected]
> <mailto:[email protected]>
> > > <mailto:[email protected] <mailto:[email protected]>>> wrote:
> > > > what do you mean fine grained?
> >
> > > > On Mon, Apr 27, 2009 at 7:01 PM, scott_m
> <[email protected] <mailto:[email protected]>
> > > <mailto:[email protected] <mailto:[email protected]>>>
> wrote:
> >
> > > > > I read Davy Brion's great blog post on declarative
> Interceptor
> > > > > configuration:
> >
> > >
> >http://davybrion.com/blog/2008/05/adding-behavior-without-modifying-e...
> >
> > > > > Is it possible to perform fine grained configuration
> with a config
> > > > > file or is it all or nothing when using declarative
> configuration?
> > > > > Specifically, it would be nice to be able to specify
> which service
> > > > > methods a given Interceptor should intercept.
> >
> > > > > thanks!
>
>
>
> >
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---