Yes, the Transactional attribute makes the work. Guys thanks a lot. On Mon, Jun 6, 2011 at 10:32 AM, Berke Sokhan <[email protected]> wrote:
> BTW Henrik, > > If you remember our last discussion about transactions and how I dont want > to use AutoTx attributes on my service class... and if you remember I did > start NH transactions with WCF context classes in my sample codes. > > Well, it didnt work. I am getting exceptions form my repo classes (which I > inject Func<Session> objects) that saying I should use Transaction atrribute > or something like that implying a transaction must be opened. > > > 2011/6/6 Henrik Feldt <[email protected]> > >> Correct. >> >> >> >> Version 3.0 does away with that requirement, but right now, it’s beta (and >> running in production I might add) and I’m making a lot of changes to the >> file API. >> >> >> >> You can ‘see’ if you’re in a transaction through the call stack if you >> place a break-point in the method. >> >> >> >> Cheers >> >> >> >> *From:* [email protected] [mailto: >> [email protected]] *On Behalf Of *Berke Sokhan >> *Sent:* den 5 juni 2011 15:29 >> *To:* [email protected] >> *Subject:* Re: Transaction on a Service Layer >> >> >> >> I think you also need to add Transactional attribute to the class. >> >> 2011/6/5 Glauber <[email protected]> >> >> Hi, >> >> I've a project structure where my service layer access my model >> (NHibernate) layer. The model has a generic Repository. I'm using >> NHibernateIntegration.NHibernateFacility and >> AutoTx.TransactionFacility. Above service there is a monorail MVC >> structure. >> >> I need to make a transaction on a service method. Does anyone know the >> syntax to do that? I tryed this: >> >> public class SomeService : ISomeService >> { >> IRepository<Cond> mCondRep; >> IRepository<User> mUserRep; >> IRepository<State> mStateRep; >> >> public SomeService (IRepository<Cond> condRep, >> IRepository<Usuario> userRep, IRepository<State> stateRep) >> { >> mCondRep = condRep; >> mUserRep= userRep; >> mStateRep = stateRep; >> } >> >> [Transaction(TransactionMode.Requires)] >> public virtual void Insert(Cond cond, User user) >> { >> mCondRep.Insert(cond); >> mUserRep.Insert(user); >> } >> } >> >> But when the mUserRep.Insert fails mCondRep dosen't rollback. Do I >> have to use an open session in a using block? Or a transaction? How >> would be the syntax to ensure the transaction? >> >> -- >> 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. >> >> >> >> >> -- >> Berke SOKHAN. >> >> http://twitter.com/berkesokhan >> http://blog.berkesokhan.com >> http://www.birliktegelistir.com/editors.aspx >> >> -- >> 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. >> > > > > -- > Berke SOKHAN. > > http://twitter.com/berkesokhan > http://blog.berkesokhan.com > http://www.birliktegelistir.com/editors.aspx > > -- > 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.
