0
我在ASP.NET MVC中使用插入存儲過程並上傳文件時遇到問題。
ASP.NET MVC - EF存儲過程和文件上傳。沒有回滾
我在try-catch塊三個部分組成:
- 生成的文件名。
- 執行插入存儲過程。
- 保存文件。
生成文件名,將該文件名插入到數據庫中並保存具有該名稱的文件。
問題:
如果在執行插入存儲過程成功和文件保存失敗,插入的行仍然導致沒有照片的事件。
如果我切換順序,先保存文件,然後插入到數據庫中,該問題仍然存在。如果文件保存成功 S和插入失敗,有沒有活動的照片。
示例代碼(只是一個例證)。
try
{
//Generate a new file name.
var newFileName = Guid.NewGuid().ToString();
//Execute stored procedore.
Database.Insert_Event(newFileName, title, description, dateTime);
//Save event photo.
eventPhoto.SaveAs(newFileName);
}
catch (DataException exception)
{
//Exception message when executing insert SP.
}
catch (IOException exception)
{
//Exception message when saving file.
}
問:
使用存儲過程,如果該文件保存失敗或如何恢復文件的保存,如果插入失敗插入時如何恢復數據庫插入?