我有一個WinForms項目,我必須閱讀大量XML文件(2GB +)並將數據存儲在MSSQL數據庫中。
10分鐘後,我得到錯誤:
「與當前連接相關的事務已經完成但尚未處理,在連接可用於執行SQL語句之前必須處理該事務。.NET TransactionScope超時問題/ EF
我想這不得不說是一個超時問題,所以我做了以下內容:
我我的代碼使用方法:
using (tran = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions()
{
IsolationLevel = System.Transactions.IsolationLevel.Serializable,
Timeout = TimeSpan.Zero //TimeSpan.FromHours(2)
}))
{
/*Here I read out xml, and use EF to write to DB*/
}
爲了我的App.config我說:
<system.transactions>
<defaultSettings timeout="2:00:00"/>
</system.transactions>
To my machine.config我加入了:
<system.transactions>
<machineSettings maxTimeout="2:00:00"/>
</system.transactions>
而在MSSQL我設置遠程查詢超時爲0
仍發生此超時。我究竟做錯了什麼?