WCF分布式开发常见错误(16):The Transaction has aborted,事务已经被中断

本文介绍了在Windows Communication Foundation (WCF)中遇到事务被中断(The Transaction has aborted)的问题及解决方法,包括调整事务超时设置、正确提交事务等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    今天调试WCF事务代码遇到这个问题:The Transaction has aborted,事务已经被中断。
  具体信息如下图:
解决办法:
1.Transaction timed out 设置问题。增加配置代码火属性:
     <serviceBehaviors>
        
<behavior name="WCFService.WCFServiceBehavior" >
          
<serviceMetadata httpGetEnabled="true"  />
          
<serviceDebug includeExceptionDetailInFaults="true">
          
</serviceDebug>
          
          
<serviceTimeouts transactionTimeout="00:30:00"/>
        
</behavior>
      
</serviceBehaviors>
2.如果你设置了 [OperationBehavior(TransactionScopeRequired = true, TransactionAutoComplete =false)]:
增加OperationContext.Current.SetTransactionComplete(),在符合要求的代码里提交事务。
3.我在还继续查找其它的解决办法。
查找到资料:
 
1.http://social.msdn.microsoft.com/Forums/en-US/windowstransactionsprogramming/thread/5eab0a10-b0f8-42e3-b870-463c912a4d2e;
2.http://netindonesia.net/blogs/kasim.wirama/archive/2007/12/11/transaction-in-windows-communication-foundation-wcf.aspx;
3.http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/9f9c1d11-6c0d-423e-bffc-4d1957e9bdd7;
 欢迎补充!~~

 本文转自 frankxulei 51CTO博客,原文链接:http://blog.51cto.com/frankxulei/320437,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值