Transaction Processing
In transactional environment, servers should get resources (database connection) as late as possible and give them up as soon as possible.
SetComplete() function should be called as often as possible so that MTS keeps less object around and it helps scalability.
MTS introduces a concept called resource dispenser.
Resource Dispenser interface abstracts any resource from the actual implementation and allows developer to manage the resources properly such as caching.