The BeginTransaction method creates a new MSMQ transaction object. It returns an MSMQTransaction object that is used when sending and retrieving messages during the transaction.
Set object1 = object2.BeginTransaction
Syntax Element | Description |
---|---|
object1 | Transaction (MSMQTransaction) object that identifies the transaction. |
object2 | Transaction dispenser (MSMQTransactionDispenser or MSMQCoordinatedTransactionDispenser) object that creates the transaction. |
MSMQTransaction object that identifies the transaction.
The MSMQTransaction object returned by BeginTransaction must be associated with all transaction queues and messages associated with this transaction. However, this does not mean that a transaction queue associated with this transaction cannot be used by other transactions. A single transaction queue can be associated with any number of transactions.
This example starts a transaction and sends two messages.
Dim xdispenser as New MSMQCoordinatedTransactionDispenser
Dim xact as MSMQTransaction
Dim qSend as MSMQQueue
Dim msg1 as New MSMQMessage
Dim msg2 as New MSMQMessage
Set xact = xdispenser.BeginTransaction
'Assumes queue already exists and is transactional.
Set qSend = qinfo.Open(MQ_SEND_ACCESS, 0)
msg1.Label = "MyTransaction message"
msg1.Body = "Message 1 Body"
msg1.Send qSend, xact 'Associates send with xact.
msg2.Label = "MyTransaction message"
msg2.Body = "Message 2 Body"
msg2.Send qSend, xact 'Associates send with xact.
xact.Commit
Windows NT: Requires version 4.0 SP3 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in mqoai.h.
Import Library: Use mqoa.lib.
Unicode: Defined only as Unicode.