有没有办法使用.Net Core实现平台无关的事务I / O操作?在纯.Net世界中,我们可以使用Transactional NTFS,但这不是一个选项。
使用.NET中的System.Transactions命名空间使用临时事务。在.NET Core 2.1中,SQL客户端和EF Core完全支持集成到环境事务中。请参阅EF Core的Using System.Transaction documentation。
然后,您可以使用登记添加支持提交和回滚功能的自定义逻辑。请参阅Transaction.EnlistVolatile documentation和live sample code逻辑中使用的dotnet install tool
。
NuGet(TxFilemanager)上有一个使用System.Transations实现常见文件操作的软件包,但它在CodePlex上的网站现在已关闭,但是GitHub上有像this one这样的包含源代码的分叉,这些代码应该有助于实现这些操作。