如何实现一个知道 TransactionScope 的类?

And*_*cus 4 c# transactions transactionscope active-directory

我有一个 WCF 服务,它跨几个数据库和 Active Directory 执行一些更新。由于 Active Directory 无法支持事务,因此我想在“DirectoryRepository”类中实现,该类将在发生回滚时执行补偿操作。

我的代码正在使用 TransactionScope ...

using(var scope = new TransactionScope())
{
       AssetRepository.Add(asset);

       DeploymentRepository.Add(deployment);

       DirectoryRepository.Add(directoryEntry);

       scope.Complete();
}
Run Code Online (Sandbox Code Playgroud)

我的 DirectoryRepository 如何知道任何当前事务并在回滚时得到通知?

Bri*_*ian 5

我想也许你想要这个

http://msdn.microsoft.com/en-us/library/ms229975.aspx

它展示了如何编写一个资源管理器,该资源管理器可以在事务中登记并获得例如回滚等的通知。(但我已经很久没有这样做了,我忘记了。)