Welcome

首页 / 软件开发 / WCF / WCF分布式开发常见错误(13)

WCF分布式开发常见错误(13)2011-03-31 博客园 Frank Xu LeiWCF分布式开发常见错误(13):The transaction under which this method call was executing ,此方法调用的事务被异步中断

今天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.还有就是可能是调用的操作参数不符合要求所致。我这里把参数的长度过长也会出现这个错误。

以上就是可能的原因。大家修改的时候全部考虑,综合检查。能找到解决问题的方法。也欢迎补充。