Итак, у меня есть веб-форма и 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, но я не уверен, что я прав, и даже если я, как я должен это достичь?
Проверьте, все ли файлы загружены правильно ** сначала **, используйте транзакцию и откат, если есть дополнительные ошибки – wudzik
при удалении попытки и транзакции, она отлично работает. См. Мой код. – Arbaaz