假设我调用webservice将一些数据保存到本地数据库。在我收到来自网络服务的回复之后,我会检查以下情况的响应:
1-如果插入失败,我可以使用TransactionScope(在C#中)轻松回滚整个代码块。
2-如果成功,我尝试将这些状态(成功状态)保存到我的数据库。但在保存状态之前我的数据库服务器崩溃了!所以我需要回滚网络服务电话!
代码示例如下:
//Calling database
var response = client.InsertNewItem(data);
if(response.IsSuccess)
{
myDb.SaveSucessfulState();
//Commit transaction
scope.compelte();
}
else
{
//Do roll back stuff.
}