我有一个 WCF 服务,它正在跨几个数据库和 Active Directory 执行一些更新。由于 Active Directory 无法支持事务,因此我想在“DirectoryRepository”类中实现,该类将在发生回滚时执行补偿操作。
我的代码正在使用 TransactionScope ...
using(var scope = new TransactionScope())
{
AssetRepository.Add(asset);
DeploymentRepository.Add(deployment);
DirectoryRepository.Add(directoryEntry);
scope.Complete();
}
我的 DirectoryRepository 如何知道任何当前事务并在回滚时收到通知?