事務處理只能針對資料庫(如果我的資料放在xml中怎么辦)?

tsoukw 2005-06-28 11:14:08
看了各種事務處理﹐好像都是針對資料庫的﹐如新增一筆資料和刪除一筆資料組成一個事務﹐任何一個動作失敗﹐則可以全部取消。
但我現在的程式里有這樣三個動作﹐上傳文件﹐發送email﹐寫xml文件記錄﹐我想把這三個動作組成一個事務﹐如果任何一個失敗﹐則全部取消
如果上傳文件失敗﹐則不會發送email和寫xml檔
如果發送email失敗﹐則上傳文件和寫xml檔不會執行
如果寫xml檔失敗﹐則發送email和上傳文件也不要執行

有沒有這樣的事務處理呀?
...全文
86 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tsoukw 2005-06-28
  • 打赏
  • 举报
回复


資料放在xml中只是我舉的一個例子

其實做mis系統時﹐資料庫無非是一個存取資料的地點而已﹐如果選擇sql server當然事務處理是可以支持的﹐但如果我選擇xml作為資料存儲方式﹐那怎么支持事務呀?
tsoukw 2005-06-28
  • 打赏
  • 举报
回复


比如我上傳文件后﹐突然斷電(這時新增資料未成功)﹐是不是上傳文件動作可以取消呀

最簡單的銀行轉賬動作也是這樣的﹐當賬戶減了100時斷電﹐而另一個賬戶沒有加上100﹐這時應該要取消減100的動作
  • 打赏
  • 举报
回复
常见的这些事务如楼主所说,都是针对数据库的。楼上的应该不是你要的效果,具体能否实现,没见过,不赶妄言。等待高手。
hackate 2005-06-28
  • 打赏
  • 举报
回复
你可以用try ...catach来做到这一点啊。
遇到错误则断开嘛。你可以看下SDK/MSDN。
renyu732 2005-06-28
  • 打赏
  • 举报
回复
这个应该与是不是XML没有太大关系吧?
tsoukw 2005-06-28
  • 打赏
  • 举报
回复


我只是舉一個例子而已
好吧﹐就算我用sql server作資料存儲方式

現在我上傳一個文件后﹐要把一筆資料記錄到資料庫中﹐但是資料記錄失敗﹐這時我想取消上傳文件動作(當然你可以說﹐直接刪除文件﹐但是如果我前面有很多動作﹐如發送email,日志記錄等﹐難道我又要自己寫代碼去刪除文件﹐刪除日志記錄﹐再發一封email通知用戶前面那封email錯誤嗎)﹐能不能直接把這兩個動作封裝到一個"事務"中﹐然后直接rollback就行了
liuqinglq 2005-06-28
  • 打赏
  • 举报
回复
那你为啥需要选择XML做为存储方式?

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧