MSTDC используется для распределенной транзакции. Для упрощения, использование TransactionScope
может косвенно использовать MSDTC, если транзакция должна быть распределена, то есть: если TransactionScope окружает фрагмент кода, который подразумевает более одного ресурса. Это называется эскалацией, и большую часть времени происходит автоматически.
Итак, да, для этого требуются некоторые ресурсы, но если вам нужна транзакция ACID между несколькими системами (например, «менеджерами ресурсов», такими как SQL Server, Oracle или MSMQ) в ОС Windows, вы у меня нет большого выбора, но используйте MSDTC.
Одна вещь, касающаяся производительности, которая может быть достигнута при настройке MSDTC, заключается в том, чтобы обеспечить наличие только одного координатора для пула распределенных ресурсов, избегая связи MSDTC с MSDTC. Конфигурация обычно является самой большой проблемой, с которой вы столкнетесь при работе с MSDTC. Пример здесь: http://yrushka.com/index.php/security/configure-msdtc-for-distributed-transactions/