我有以下異常的問題:事務超時
與當前連接關聯的事務已完成 但尚未佈置。該事務必須在 連接可用於執行SQL語句之前進行處理。
的「呼叫」針對數據庫需要10米53S(沒有事務測試和succeded) 以及與交易它拋出10米後的異常。所以我很確定這不是產生問題的代碼,而是事務超時限制。
我已經看到很多人都在爲這個問題而努力,但我已經嘗試了所有可能的解決方案,但我仍然沒有成功擺脫這個異常。
下面的代碼我用:
[...]
TransactionOptions transactionOptions = new TransactionOptions();
transactionOptions.IsolationLevel = IsolationLevel.Snapshot;
transactionOptions.Timeout = new TimeSpan(0, 0, 30, 0, 0);
using(var scope = new TransactionScope(TransactionScopeOption.Required, transactionOptions))
{
foreach (var selector in GetDataContext().sp_GetChangedSelectors(changeSet))
{
// xml-result will be stored in a file
}
// multiple other SP calls the same way
scope.Complete();
}
我%WINDIR%添加的聲明
<system.transactions>
<machineSettings maxTimeout="02:00:00"/>
</system.transactions>
到的machine.config \ Microsoft.NET \ Framework64 \ v4.0.30319 \兩臺機器上的Config (本地和sql-server-machine)。
我用盡了想法,我可以嘗試下一步。有什麼建議麼?
我會試一試 – Viper
@Viper你應該在任務管理器的「進程」選項卡中看到,如果應用程序是32位的(exe的名稱附有一個_ * 32_) – toATwork
不錯。那就是=)非常感謝你。不要考慮32位和64位的問題。 – Viper