Why can't we have send and receive within an atomic scope?
The atomic scope was designed to handle Atomicity, Consistency,
Isolation, and Durability (ACID) compliant operations that must either all succeed or
all fail as a group.
This is a classic database transaction style. It is designed to carry
an orchestration from one stable state to another. This is why you cannot both
send and receive from an atomic scope, because by design the message box is not
a lockable resource.
To accomplish this atomicity, the orchestration engine persists
the entire orchestration state to the message box before the atomic scope begins; it
subsequently persists the orchestration again when the atomic scope completes.
Isolation, and Durability (ACID) compliant operations that must either all succeed or
all fail as a group.
This is a classic database transaction style. It is designed to carry
an orchestration from one stable state to another. This is why you cannot both
send and receive from an atomic scope, because by design the message box is not
a lockable resource.
To accomplish this atomicity, the orchestration engine persists
the entire orchestration state to the message box before the atomic scope begins; it
subsequently persists the orchestration again when the atomic scope completes.
ReplyDeleteThanks for writing this in-depth post. You covered every angle.
Biztalk Online Training Hyderabad