Hola, Gustavo, tenes razon en eso… y hoy a la tarde comprobe que ya se estaba usando el mismo thread (porque el “servicio” en realidad es un framework mio que ya soporta Invoke para que no haya problema con los controles). De todas formas no me esta funcionando bien Burrow en ese momento. Cuando lo vea de nuevo les comento, porque posiblemente no pase por ahi el tema.
En realidad mi pregunta era como lo debería manejar un caso asi, porque estaría actualizando la misma pantalla utilizando 2 sessions diferentes, y hacer esto significa que las 2 sessions pueden tener informacion diferente (porque no hicieron el flush, porque no hay transacciones cerradas, cache de 1er nivel, etc…). Ademas a esto se le suma que en WinForms el ciclo de vida de las sesiones es mas largo, y que no se muy bien como manejar Sessions en WinForms (estoy siguiendo algunos guidelines de Fabio, o mejor dicho lo que entendí de esos guidelines) J Saludos! From: [email protected] [mailto:[email protected]] On Behalf Of Gustavo Ringel Sent: Sunday, January 11, 2009 04:12 To: [email protected] Subject: [NHibernate-Hispano] Re: Conversaciones y Threads Si estas adentro del from podes usar invoke y ejecutar en el thread del GUI...eso se hace en general para actualizar controles ya que es la unica forma, pero bueno, podes asociar tambien la conversacion al thread del Form... Gustavo. 2009/1/11 Diego Jancic <[email protected]> Hola gente!, (Escenario: WinForms + NH Trunk + 1era vez con Burrow) Lo que necesito hacer es que un Form llame a un servicio de forma asincrónica, y cuando se ejecuta el callback se actualice informacion. El problema es que el Form tiene una conversación de Burrow, y cuando el servicio asincrónico realiza el Callback lo esta haciendo en un nuevo thread. Por ese motivo no estoy en la misma conversación y todavía no encontré forma de unirme a la otra. Deberia andar si algo asi? : (simplificado) Guid currentConversation; void UnMetodoDelForm() { currentConversation = new BurrowFramework().CurrentConversation.Id; LlamarAlServicio(callback); } private void callback (object sender, EventArgs args) { new BurrowFramework().InitWorkSpace(currentConversation); // Cosas con la misma session. } Gracias & Saludos!, Diego --~--~---------~--~----~------------~-------~--~----~ Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano -~----------~----~----~----~------~----~------~--~---
