WCF分布式开发常见错误(13):此方法调用的事务被异步中断

本文探讨了WCF编程中遇到的事务被异步中断的问题,并提供了多种可能的解决方案,包括设置事务超时、调整隔离级别、启用客户端事务流等。
       今天WCF事务编程的时候遇到这个错误:The transaction under which this method call was executing was asynchronously aborted.此方法调用的事务被异步中断。
错误截图如下:
    原因可能由多个。我查询了很多资料。国内论坛很少有人讨论这个问题。MSDN英文论坛有人遇到过,他们也给出了解决问题的方式。但是我尝试了不起作用。
最后检查是客户端没有启动事务流引起的。修改以后便可以运行。下面总结一下全部的可能的解决办法:
1. [ ServiceBehavior (TransactionTimeout =  "00:10:00" )],服务类添加事务超时属性,也可以再配置文件里。原文:http://social.msdn.microsoft.com/Forums/en-US/windowstransactionsprogramming/thread/745b961f-0a95-407c-bbe5-9d67597b7b6f
2.mismatch of transaction isolation levels etc,隔离级别等信息部匹配。原文链接:http://social.msdn.microsoft.com/Forums/en-US/windowstransactionsprogramming/thread/745b961f-0a95-407c-bbe5-9d67597b7b6f
3.客户端启动事务流,默认客户端终结点transactionFlow="false" ,修改为transactionFlow="true" .
4.还有就是可能是调用的操作参数不符合要求所致。我这里把参数的长度过长也会出现这个错误。
    以上就是可能的原因。大家修改的时候全部考虑,综合检查。能找到解决问题的方法。也欢迎补充。



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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值