如何回滚Web服务调用

时间:2014-02-25 05:58:30

标签: c# asp.net web-services transactions transactionscope

假设我调用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.
}

1 个答案:

答案 0 :(得分:0)