17

私は TransactionScope を使用してデータベースを操作してきましたが、いい感じです。私が探しているのは次のとおりです。

using(var scope=new TransactionScope())
{               
    // Do something with a few files...
    scope.Complete();
}

しかし、明らかにこれは機能しません。20 個のファイルがあり、9 番目のファイルで例外が発生した場合、前の 8 個はすべて変更されたままになり、残りは変更されません。ロールバックは実行されません。では、ファイルに対してスコープのような動作を実装する最良の方法は何でしょうか?

簡単な答えがあることを願っていますが、そうでない場合は、いくつかのヒントを教えていただくか、関連記事を教えていただけますか?

4

2 に答える 2

8

Windows Vista で導入されたTransactional NTFSを探しています。

これはマネージ ラッパーです。

于 2010-02-18T14:46:05.920 に答える
4

Codeplex およびNuGetで利用可能な.NET Transactional File Managerライブラリを試すことができます。あらゆるファイル システムをサポートし、Transactional NTFS のラッパーではありません。

プロジェクトの説明から:

トランザクション ファイル マネージャーは、ファイルのコピー、移動、削除、追加などのファイル システム操作をトランザクションに含めることをサポートする .NET API です。これは System.Transaction.IEnlistmentNotification の実装です (System.Transactions.TransactionScope で動作します)。

于 2015-08-23T03:48:58.510 に答える