使用wcf事务与示例

时间:2015-09-07 16:09:18

标签: wcf

我读到了有关wcf事务但无法找到它的用法。有没有人知道我们应该使用wcf事务的任何场景。实时示例有助于理解。

1 个答案:

答案 0 :(得分:1)

WCF交易允许我们进行消费者可以在交易中使用的操作。我们可以在事务范围内调用wcf服务操作(例如)并确保我们的操作是原子操作。确保我们的运营完整性非常有帮助。

例如,假设我们有两个wcf操作:

  • debit(double mont,string account);
  • 存款(double mont,string

如果我实施了wcf交易,我可以在交易中建立转移操作混合两项操作,我会确保不会有任何不一致。如果任何服务调用失败,整个事务将回滚

try
{
  using(TransactionScope scope = new TransactionScope())
  {
     IserviceClient client = new IserviceClient();
     client.debit(499,"acdf5-sdsd-4546-223-2");
     client.deposit(499,"45651-as4d-ghhd-222-1");

     scope.Complete();
  }
}
catch
{
   Debug.WriteLine("Some error occurred...");      
} 

它可能会有所帮助。 http://www.codeproject.com/Articles/183708/WCF-Transactions-Brief-Introduction

编辑:当服务操作改变任何状态(数据库插入,更新或删除,任何文件修改)时,您应该使用事务,尽管例如在执行简单的读取操作时事务没有用。