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
-~----------~----~----~----~------~----~------~--~---

Reply via email to