Tag: system.transactions

如何创建一个与TransactionScope一起使用的类?

只是想知道,如果我想创建一个可以在TransactionScope中使用的类,我想要在TransactionScope中使用,我需要实现什么? 那就是:我的类需要知道它在一个Transaction中,但是如何在Commit或Rollback上得到通知? 在Rollback上,我将如何实际回滚? 我假设我的类将具有“添加”,“更新”和“删除”等方法,这些方法仅修改临时更改列表,以及方法“读取”,需要检测它是否在事务中并返回修改或未修改的数据相应地,但是我需要一个以某种方式调用的方法Commit / Rollback? 我会订阅Transaction.TransactionCompleted事件吗? 如果是,我如何避免对同一交易的多个订阅? 我注意到事务没有ID,有没有办法管理/兼顾多个并发事务或嵌套事务? System.Transactions的MSDN文档有很多内容,但似乎是针对消费者而不是实现者,所以我想知道某人是否有一个良好的来源(无论是在网上还是在书中)关于服务如何提供支持交易? 让我们假设我的类没有已经支持事务的底层存储,并且能够“通过它”。 我们假设我的课看起来像这样: public class MyClass { private List _businessData; public void Create(Myobject data) { … } public MyObject Read(string query) { … } public void Update(Myobject data) { … } public void Delete(Myobject data) { … } }

.net持久资源管理器,用于事务性文件系统访问

我试图围绕在C#中使用System.Transactions命名空间。 我在MSDN上找到了一些关于使用资源管理器的文档,但它只包含任何细节的易失性内存资源管理器(如Transactional)。 我基本上在寻找可以在TransactionScope中使用的东西,就像Transactional 一样,但是用它来写入/修改/删除磁盘上的文件。 标准库中是否存在类似的内容? 我已经读过NTFS现在有“TxF”允许事务性文件系统访问 – 我期待在.net中找到一些利用它的东西。 也许我需要实现自己的?