わかりましたので、webform と 5 つの FileUpload コントロールがあります。ユーザーは 1 から 5 までの任意の数のファイルをアップロードできますが、これらのファイルのいずれかがアップロードされない場合は、すべてをロールバックしたいと考えています...例: ユーザーが選択した場合4つのファイルがあり、4番目に予期しないことが発生した場合は、以前の3つのファイルのアップロードをすべて削除またはロールバックしたい..私はこれを試した..
try
{
using (TransactionScope scope = new TransactionScope())
{
dboperation dbinsert=new dboperation();
if (file1.ContentLength > 0)
{
.......
.......
dbo.insert(bytes, lastid, file2.FileName);
}
if (file2.ContentLength > 0)
{
.......
.......
dbo.insert(bytes, lastid, file2.FileName);
}
if (file3.ContentLength > 0)
{
.......
.......
dbo.insert(bytes, lastid, file2.FileName);
}//till ...file5
scope.Complete();
}//end of transactionscope
}
catch { }
「dboperation」は c# ファイルのクラスで、「dbinsert」は挿入ストアド プロシージャを実行するメソッドです。私の推測では、Transaction Scope を使用する必要があると思いますが、私が正しいかどうかはわかりません。