TransactionScope的默認最大超時時間爲10分鐘。如果你用更大的超時創建它,無論如何它會默默地將它減少到10分鐘。這是一個相當驚人的行爲,但代碼正是這麼做的:
public TransactionScope(TransactionScopeOption scopeOption, TimeSpan scopeTimeout)
{
...
timeout = TransactionManager.ValidateTimeout(scopeTimeout);
...
}
而且ValidateTimeout它減少到TransactionManager.MaximumTimeout
internal static TimeSpan ValidateTimeout(TimeSpan transactionTimeout)
{
...
if (TransactionManager.MaximumTimeout != TimeSpan.Zero && (transactionTimeout > TransactionManager.MaximumTimeout || transactionTimeout == TimeSpan.Zero))
{
return TransactionManager.MaximumTimeout;
}
return transactionTimeout;
}
什麼是連接超時?什麼是命令超時? – Oded
連接超時時間爲1小時。什麼是命令超時? – Smaug
在哪個環境中運行?本地,天藍色,...? –