FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Muchas gracias por tu respuesta!, supuse que estaba sucediendo lo que indicas.
Estoy utilizando TSQLQuery conectados con TSQLConnection, ¿sabras decirme como manejar el pool de conexión con estos componentes? de lo contrario, podrás darme un ejemplo de como hacerlo con ADO. Lo que se me ocurrió también, es instanciar un TSQLConnection en cada llamada al servicio, ¿puede ser esta la forma? ¿en que evento del WebModule se debería realizar? Gracias! |
#2
|
||||
|
||||
__________________
El malabarista. |
#3
|
||||
|
||||
Un data module no es una variable global. Que el IDE te cree una variable global es otro tema. Lo mismo se podria decir de los form. Pero ese comportamiento se arregla fácilmente cambiando una opción para que no te cree nada automáticamente (no agrega las "líneas mágicas" en el dpr)
|
#4
|
||||
|
||||
Corrección clara!
__________________
El malabarista. |
#5
|
||||
|
||||
Sin embargo y aunque estoy de acuerdo con lo que plantea mamcx incluida la aclaración de Agustín, hay algo aquí que no me suena y es el hecho que Andres diga que se "mezclen" las transacciones. Pues si estás usando DataSnap para crear dicho servidor, ese no debería ser un problema ya que él crea un Hilo por cada petición que se le hace, lo cual crearía una instancia de dicha conexión para cada una de tus peticiones.
Claro, asumiendo que estás usando DataSnap... la única cosa que se me ocurre... generaría tal comportamiento, sea que el LifeCycle de la clase publicada en tu modulo Container sea de tipo Server y no Invocation o Session... lo cual parece ser el caso que requieres. Ahora bien, la solución puede que sea cambiar dicha propiedad, sin embargo debes plantear el cambio de esquema en tus WS de "state-full" a "state-less" como plantea mamcx.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#6
|
||||
|
||||
No se como tendra configurado el server. Yo solo se que lo que controla esa propiedad es el tiempo de vida de las DSServerClass, osea de lo que el IDE te genera como TServerMethods1
Si no me falla la memoria el DataModule va aparte del TServerMethods Las DSServerClass basicamente reciben una referencia a una clase descendiente de TPersistent, osea una TPersistentClass, y lo que hacen es crear una instancia de dicha clase para exponer al cliente |
#7
|
|||
|
|||
Por el momento lo resolví de la siguiente forma:
En el WebModule declaro una variable en threadvar del tipo TwsDataModule. Luego en el evento BeforeDispatch instancio esta variable con mi dataModule (TwsDataModule) que tiene las conexiones. Posteriormente en el evento AfterDispatch realizo un freeAndNil de esta variable. De esta forma logro que por cada invocación a mi W.S., se cree un dataModule con las conexiones que utilizarán en esa petición, y cada conexión puede tener una transacción distinta. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Manejo de transacciones | StartKill | MS SQL Server | 7 | 23-09-2008 21:46:53 |
Manejo de transacciones en SQL server | look | SQL | 6 | 21-08-2008 17:27:17 |
error en manejo de transacciones | JODELSA | Varios | 1 | 11-07-2005 16:50:56 |
Manejo de Transacciones | takeo | Conexión con bases de datos | 0 | 01-12-2004 05:29:53 |
Manejo de Transacciones | senpiterno | Conexión con bases de datos | 1 | 08-10-2004 15:05:34 |
|