Hi Alessandro I've been in offline land for a couple of days...
2010/10/11 Alessandro C. <[email protected]>: > Following the example of Markus > > http://using.castleproject.org/display/AR/Using+the+Conversation+Pattern > > I tried to change my application from single global session to a > session per conversation but every time you need to hit the database > you have to surround the operation with > using (new ConversationalScope(conversation)) > { > } That's right and therefore you should only hit the database at defined points in you code. But (and that's the benefit of Conversation) is that the NH session lives as long as the conversation, so you can access lazy loaded properties without using a scope and thus benefit from binding mechanisms in the GUI framework. > more, if you have database access outside the form, for example a > method on a helper class, you have to pass the conversation to the > class if you want that method use the same conversation as the form. Can you share an example for this. I always call helpers from my form objects, and use conversation.Execute(()=>helper.Help()) for this. That way, the helper can call ActiveRecord methods within my conversations session. > Is that correct or there is a way to share the conversation for the > entire form thread? If you use SessionScope, you always share the session for the entire thread (in rich clients), but this was the problem that made me develop the conversation feature. If you have more than one form, all run in the same thread, so you either have session per application (boom) or you get ScopeMachineryExceptions (boom) when you have a session per form. -Markus -- 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.
