[MSDTC]Distributed transaction completed. Either enlist this session in a new transaction or the NULL transaction.

[MSDTC]Distributed transaction completed. Either enlist this session in a new transaction or the NULL transaction.

錯誤訊息

Distributed transaction completed. Either enlist this session in a new transaction or the NULL transaction.

分散式交易完成。請在新的交易或是 NULL 交易中編列這個工作階段。

說明

這個錯誤是發生在我們寫的一支Web Service之中。

看起來是因為交易已經結束了,後面的程式試圖要加入那個交易之中。

而這個Web Service有時會發生這個問題,有時不會....

想了一下,應該是因為元件服務中的TimeOut時間設太裋導致"交易TimeOut"。

所以就把它的TimeOut設成了600秒就不會發生那個問題了!

除了元件服務的TimeOut(秒)外,可能是執行的SQL太久了,所以也要同時設定Ado Command的TimeOut(秒)。

如果Client Call Web Service的話,VS.NET包Web Service的Proxy中也有TimeOut(毫秒)要設定哦! 不然Client會有作業逾時的錯誤哦!

image

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^