You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Receive operations are not included, because it is assumed that the application acquires messages using the [ReceiveMode.PeekLock](/dotnet/api/microsoft.azure.servicebus.receivemode) mode, inside some receive loop or with an [OnMessage](/dotnet/api/microsoft.servicebus.messaging.queueclient.onmessage) callback, and only then opens a transaction scope for processing the message.
39
39
40
40
The disposition of the message (complete, abandon, dead-letter, defer) then occurs within the scope of, and dependent on, the overall outcome of the transaction.
41
41
42
42
## Transfers and "send via"
43
43
44
-
To enable transactional handover of data from a queue to a processor, and then to another queue, Service Bus supports *transfers*. In a transfer operation, a sender first sends a message to a *transfer queue*, and the transfer queue immediately moves the message to the intended destination queue using the same robust transfer implementation that the auto-forward capability relies on. The message is never committed to the transfer queue's log in a way that it becomes visible for the transfer queue's consumers.
44
+
To enable transactional handover of data from a queue to a processor, and then to another queue, Service Bus supports *transfers*. In a transfer operation, a sender first sends a message to a *transfer queue*, and the transfer queue immediately moves the message to the intended destination queue using the same robust transfer implementation that the autoforward capability relies on. The message is never committed to the transfer queue's log in a way that it becomes visible for the transfer queue's consumers.
45
45
46
46
The power of this transactional capability becomes apparent when the transfer queue itself is the source of the sender's input messages. In other words, Service Bus can transfer the message to the destination queue "via" the transfer queue, while performing a complete (or defer, or dead-letter) operation on the input message, all in one atomic operation.
47
47
@@ -93,13 +93,16 @@ using (var ts = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
93
93
}
94
94
```
95
95
96
+
## Timeout
97
+
A transaction times out after 2 minutes. The transaction timer starts when the first operation in the transaction starts.
98
+
96
99
## Next steps
97
100
98
101
See the following articles for more information about Service Bus queues:
99
102
100
103
*[How to use Service Bus queues](service-bus-dotnet-get-started-with-queues.md)
101
-
*[Chaining Service Bus entities with auto-forwarding](service-bus-auto-forwarding.md)
*[Atomic Transactions with Service Bus sample](https://github.com/Azure/azure-service-bus/tree/master/samples/DotNet/Microsoft.ServiceBus.Messaging/AtomicTransactions)
104
107
*[Azure Queues and Service Bus queues compared](service-bus-azure-and-service-bus-queues-compared-contrasted.md)
0 commit comments