• Lunes 23 de Diciembre de 2024, 16:11

Autor Tema:  Utilizar Transacciones En Webservice  (Leído 2571 veces)

Güorker

  • Miembro MUY activo
  • ***
  • Mensajes: 383
    • Ver Perfil
Utilizar Transacciones En Webservice
« en: Jueves 10 de Marzo de 2005, 13:59 »
0
Hola,

Estoy creando un Web Service que me permite sincronizar dos bases de datos, y necesito utilizar transacciones.

Lo que pasa es que he creado un metodo que Inicia la transacción, Otros metodos para hacer consultas a la Base de Datos utilizando la transaccion y otras dos funcciones para hacer commit y Rollback de la transacción.

Mi problema es que no se como hacer para que el objeto transacción sea valido desde que lo creo, mientras ejecuto las sentencias y hago el commit o ROllback.

He intentado serializar el objeto Transaction, pero me da un Error de que no se puede serializar el Interfaz IDbTransaction.

Tambien he intentado almacenar como variable global la Transacción, pero se pierde el valor de la variable de una llamada de método a otra.

Mi pregunta es, ¿alguien sabe como se puede hacer para tener un objeto Transaction valido de una llamada a otra al Web Service?

Gracias a todos por vuestro interes y tiempo.
[size=109]Ondo ibili, gutxi gastau eta bueltak amari[/size]
[size=109]Pasalo bien, gasta poco y las vueltas a tu madre[/size]

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Utilizar Transacciones En Webservice
« Respuesta #1 en: Sábado 12 de Marzo de 2005, 22:25 »
0
Puedes mandar tu cóidgo para revisarlo mejor, aca te mando un ejemplo de transacciones espero que te sirva.

Participar en transacciones de servicios Web XML creados mediante ASP.NET


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!

Güorker

  • Miembro MUY activo
  • ***
  • Mensajes: 383
    • Ver Perfil
Re: Utilizar Transacciones En Webservice
« Respuesta #2 en: Lunes 14 de Marzo de 2005, 09:53 »
0
Hola,

Muchas gracias Serghio por el link del articulo, pero no me servía para mi proposito.

Al final leyendo algunas cosillas por la Red, encontre suficiente información para dar solución a mi problema.

Mi problema era que necesitaba Iniciar una Transacción en el Servicio Web, y decirle al cliente de ese servicio Web qué transacción se había iniciado, para luego ejecutar una serie de sentencias (DE antemano no se sabe cuantas) y despues el cliente llame a commit o rollback segun si ha habido un Error o no.

Por esa razón necesitaba mantener la Transaccion accesible para el cliente de una llamada a otra a los metodos del Web Service.

Al final opté por crear una Tabla Hash como variable de aplicación en el Web Service, y almacenar en ella las Transacciones que se crean. A cada cliente le devuelvo el codigo Hash de la transaccion iniciada para que la utilice en cada llamada a los metodos del Servicio Web. Así puedo acceder a la tabla Hash del entorno de la aplicacion y con el codigo hash que me envia en cliente, obtengo la transaccion para ejecutar la sentencia o hacer commit o rollback segun el caso.

Gracias por tu interes y hasta otra.
[size=109]Ondo ibili, gutxi gastau eta bueltak amari[/size]
[size=109]Pasalo bien, gasta poco y las vueltas a tu madre[/size]