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.
