我有一个WCF服务,它在几个数据库和Active Directory中执行某些更新。由于Active Directory无法支持事务,因此我想在“DirectoryRepository”类中实现,该类将在发生回滚时执行补偿操作。
我的代码正在使用TransactionScope ...
using(var scope = new TransactionScope())
{
AssetRepository.Add(asset);
DeploymentRepository.Add(deployment);
DirectoryRepository.Add(directoryEntry);
scope.Complete();
}
我的DirectoryRepository如何知道任何当前事务并在收到回滚时收到通知?
答案 0 :(得分:4)
我想也许你想要这个
http://msdn.microsoft.com/en-us/library/ms229975.aspx
显示了如何创建可以在事务中登记并获得例如通知的资源管理器。回滚等。 (但是我很久没有这样做了,我忘记了。)