WCF分布式開發常見錯誤(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.還有就是可能是調用的操作參數不符合要求所致。我這裡把參數的長度過長也會出現這個錯誤。
以上就是可能的原因。大家修改的時候全部考慮,綜合檢查。能找到解決問題的方法。也歡迎補充。