Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/03/2006, 04:32
Avatar de Scour
Scour
 
Fecha de Ingreso: octubre-2003
Ubicación: Murcia (España)
Mensajes: 94
Antigüedad: 20 años, 6 meses
Puntos: 0
Exclamación Borrar colas de un servidor de colas (MSMQ)

Muy buenas, tengo un problemilla, tengo un Servicio Windows (Demonio) que lee de un servidor de colas, y conforme las va leyendo tiene que enviarlas por correo y borrarlas del servidor de colas...

El caso es que el servicio se ejecuta cada x tiempo (Configurable), con lo que no puedo borrar la cola completa, sino que tengo que borrar registro a registro, ya que es muy probable que en una ejecución del servicio no se lean todas las colas, sino un nº limitado de registros.

Para borrar cada registro de cola utilizo este código una vez he enviado el correo:

Código:
m = mensaje(i)
tr = New MessageQueueTransaction
tr.Begin()
m = ColaOrigen.Receive(tr)
tr.Commit()
tr.Dispose()
tr = Nothing
Siendo:

Código:
Dim m As Message
Dim tr As MessageQueueTransaction
Dim ColaOrigen As MessageQueue
El problema es que cuando el servidor de colas y el servidor en el que corre el servicio no son la misma máquina, me da este error al intentar borrar el registro:

El uso de la transacción no es válido.

He buscado por internet pero todo lo que veo es borrar el objeto cola al completo, no registro a registro...

¿Se les ocurre que puede ser?

Mil gracias. Saludos.

PD: No puede ser cuestión de permisos por que el usuario que ejecuta el servicio es administrador de ambas máquinas...