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%[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%[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.
