Azure SaveChanges与SaveChangesWithRetries

时间:2011-03-19 05:39:34

标签: azure azure-storage azure-table-storage

查看人们编码的示例,我看到很多人使用SaveChanges而不使用SaveChangesWithRetries。我假设SaveChangesWithRetries是最好的事情,那么使用SaveChanges有什么优势吗?另外,如果我做SaveChangesWithRetries还有其他我需要配置的东西,还是我应该使用默认值?

  

_LogEntryServiceContext.MergeOption = MergeOption.PreserveChanges;   _LogEntryServiceContext.AttachTo( “LogEntry”   itemToDelete,“*”);   _LogEntryServiceContext.DeleteObject(itemToDelete);   _LogEntryServiceContext.SaveChanges();   _LogEntryServiceContext.Detach(itemToDelete);

谢谢,

真理子

1 个答案:

答案 0 :(得分:4)

一般情况下,我总是使用SaveChangesWithRetries - 但我仍然需要添加自己的错误处理。

无论您选择哪种方法,这两种方法都要求您处理非常罕见的问题:

  • 如果您要保存多个更改,那么您需要制定一个策略,以便在一半更改失败时
  • 在极少数情况下,由于连接/可用性问题,保存可能会失败
  • 在极少数情况下,由于连接问题,保存似乎会失败,但实际上可能已成功 - 在这种情况下,重试似乎会失败。

好消息是(根据我的经验)失败是罕见的。然而,对于“交易关键”类型数据而言,这不是好消息!