nop, didn't fix the problem, as it was an issue someone submitted
about the SharpArchContrib transaction attribute, it's still an open
issue! I think they worked around it by moving the method to another
class! :)

On Sun, Jan 30, 2011 at 12:22 PM, clinamen <[email protected]> wrote:
> Seif, I think you hit the point.
> You said that have had a similar problem, did you find a suitable
> workaround?
> Does anybody know if there is a way to force ATM to register its
> interceptor with a class proxy (a proxy extending my ServiceImpl in
> the example), so that it may be able to wrap protected method
> correctly?
>
> Thanks again,
> Andrea
>
> On 29 Gen, 16:33, Seif Attar <[email protected]> wrote:
>> I had a similar problem, I believe you have a "leaking this" problem:
>>
>> http://kozmic.pl/2009/10/30/castle-dynamic-proxy-tutorial-part-xv-pat...
>>
>> The proxy is an interface proxy, which works with composition,
>> wrapping calls to the implementation, so by the time the Operation()
>> gets called, you are already in your class, and calling
>> MyTransactionalMethod() from there will call the method on the class
>> bypassing the proxies. Don't know if there is a solution to this.
>> Mayebe someone else can advise.
>>
>> On Sat, Jan 29, 2011 at 10:34 AM, clinamen <[email protected]> wrote:
>> > have a WCF service instance activated through a ServiceBehavior that
>> > configures Castle Windsor as IoC container as uses it to resolve the
>> > service implementation (and so all its dependency graph).
>>
>> > Windsor container is configured with NHibernateFacility set up through
>> > configuration and these facilities set up in code:
>> > TransactionFacility, TypedFactoryFacility.
>>
>> > The trouble here is that the TransactionInterceptor does not get
>> > invoked around the call to MyTransactionalMethod() made in the body of
>> > Operation() method. If I set the 'Transaction' attribute on the
>> > Operation() method the interceptor gets invoked as expected. It seems
>> > to me as the proxy is created against service interface only.
>> > Moreover, stepping through TransactionFacility code can be noted that
>> > the interceptor is correctly added to the component model during model
>> > inspection. As a note, attached to this service I have also a custom
>> > interceptor registered as last, but I think it is not influent at all.
>>
>> > I'm rather new to Castle Windsor and probably I'm missing something
>> > about DynamicProxy and interceptors implementation, so I ask here for
>> > an explanation to this behavior and how I can obtain the one I need.
>>
>> > Below a skeleton of the components involved. For brevity I omit
>> > explaining the reason why I cannot annotate Operation() with
>> > 'Transaction', but it is due to the fact that I need to "do stuff"
>> > after the transaction is closed.
>>
>> > Thanks in advance, Andrea
>>
>> > // Code skeleton
>> > [ServiceContract]
>> > public interface IService {
>> >    [OperationContract]
>> >    void Operation();
>> > }
>>
>> > [Transactional]
>> > public class ServiceImpl : IService {
>> >    public void Operation() {
>> >        MyTransactionalMethod();
>> >        // do stuff out of transaction scope
>> >    }
>>
>> >    [Transaction(TransactionMode.Requires)]
>> >    protected virtual void MyTransactionalMethod(){
>> >        // stuff that deals with Dao(s).
>> >    }
>> > }
>>
>> > --
>> > 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 
>> > athttp://groups.google.com/group/castle-project-users?hl=en.
>
> --
> 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.
>
>

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