I don't know ConversationAction, I have to read about it, but I guess that all the three methods are inside the same transaction. I that true?
On 13 Ott, 23:37, José F. Romaniello <[email protected]> wrote: > Alessandro I am glad that my words help you, but let me help you a little > more. > > That is a time bomb. > > Conversation could have a long live, and wait for user interactions, a > ConversationScope is another thing and it should be short-lived, becouse it > often involves a db transaction. > > Maybe the names of the classes are confusing, you need to think in two > differents things: > > -Conversation > -ConversationAction > > what hapens if you write this kind of code: > > public class YourClass > { > public IConversation conversation = new Conversation(); > > public void SomeMethod() > { > using(new ConversationAction(conversation)) > { > SomeMethodInThisClass(); > module.SomeMethodInOtherModule(); > service.SomeMethodInOtherService(); > } > } > > assuming that each of the afore mentioned methods does something with the > db. > What problem do you find with this usage? > > } > > 2010/10/13 Alessandro C. <[email protected]> > > > > > Josè thanks for the answers, you point me in the right direction (I > > hope). > > > May be I found a solution: > > > If I create a ConversationalScope object in the form load (and dispose > > it when the form closes) everything seems to be ok. > > Of course If I need I can create a new ConversationalScope object for > > transaction pourpose. Following the example. > > > private void Form1_Load(object sender, EventArgs e) > > { > > conversational = new ConversationalScope(conversation); > > dataGridView1.DataSource = Fiber.FindAll(); > > } > > > On 13 Ott, 22:57, José F. Romaniello <[email protected]> wrote: > > > You are wrong, you don't have to pass the conversation from class to > > class, > > > and you don't need to surround every database call. > > > > Read the documentation: > > > > > SessionScopes are stored in a ThreadStatic stack > > > > You must be configuring something wrong. > > > > 2010/10/13 Alessandro C. <[email protected]> > > > > > As far as I know you have 2 options: > > > > or pass the conversation object from class to class > > > > or surround every call to the database with new > > > > ConversationalScope(conversation). > > > > > Just to show I built a simple project (following there is a part), if > > > > you uncomment the (new ConversationalScode....) it works otherwise you > > > > get a lazy error. > > > > This is only a simple example, in the real world you often have a > > > > database call inside a class of the class of the class etc, ect. > > > > > public partial class Form1 : Form > > > > { > > > > protected IScopeConversation conversation = new > > > > ScopedConversation(ConversationFlushMode.OnClose); > > > > public Form1() > > > > { > > > > InitializeComponent(); > > > > } > > > > private void Form1_Load(object sender, EventArgs e) > > > > { > > > > dataGridView1.DataSource = Fiber.FindAll(); > > > > } > > > > private void button1_Click(object sender, EventArgs e) > > > > { > > > > if (dataGridView1.SelectedRows.Count == 0) > > > > return; > > > > > //using (new ConversationalScope(conversation)) > > > > //{ > > > > int id = > > > > Convert.ToInt32(dataGridView1.SelectedRows[0].Cells["FiberId"].Value); > > > > Fiber f = Fiber.Find(id); > > > > > label1.Text = > > > > f.CompositionFibers[0].Percentage.ToString(); > > > > //} > > > > } > > > > > On 11 Ott, 20:10, José F. Romaniello <[email protected]> wrote: > > > > > I am not so familiar with the castle impl. because i use the > > unhaddins > > > > > version... But the pattern is the same and i dont think you need to > > > > > pass the iconversation all over your code. > > > > > > 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)) > > > > > > { > > > > > > } > > > > > > > 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. > > > > > > > Is that correct or there is a way to share the conversation for the > > > > > > entire form thread? > > > > > > > Thanks, > > > > > > --Alessandro > > > > > > > -- > > > > > > 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]<castle-project-users%2bun[email protected]> > > <castle-project-users%2bun[email protected]> > > > > . > > > > > > For more options, visit this group at > > > > > >http://groups.google.com/group/castle-project-users?hl=en. > > > > > > -- > > > > > Enviado desde mi dispositivo móvil- Nascondi testo citato > > > > > > - Mostra testo citato - > > > > > -- > > > > 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]<castle-project-users%2bun[email protected]> > > <castle-project-users%2bun[email protected]> > > > > . > > > > For more options, visit this group at > > > >http://groups.google.com/group/castle-project-users?hl=en.-Nascondi > > testo citato > > > > - Mostra testo citato - > > > -- > > 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]<castle-project-users%2bun[email protected]> > > . > > For more options, visit this group at > >http://groups.google.com/group/castle-project-users?hl=en.- Nascondi testo > >citato > > - Mostra testo citato - -- 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.
