Default Transaction Timeout
Posted
by MattH
on Stack Overflow
See other posts from Stack Overflow
or by MattH
Published on 2009-08-28T16:45:18Z
Indexed on
2010/04/27
20:23 UTC
Read the original article
Hit count: 744
I used to set Transaction timeouts by using TransactionOptions.Timeout, but have decided for ease of maintenance to use the config approach:
<system.transactions>
<defaultSettings timeout="00:01:00" />
</system.transactions>
Of course, after putting this in, I wanted to test it was working, so reduced the timeout to 5 seconds, then ran a test that lasted longer than this - but the transaction does not appear to abort! If I adjust the test to set TransactionOptions.Timeout to 5 seconds, the test works as expected
After Investigating I think the problem appears to relate to TransactionOptions.Timeout, even though I'm no longer using it.
I still need to use TransactionOptions so I can set IsolationLevel, but I no longer set the Timeout value, if I look at this object after I create it, the timeout value is 00:00:00, which equates to infinity. Does this mean my value set in the config file is being ignored?
To summarise:
- Is it impossible to mix the config setting, and use of TransactionOptions
- If not, is there any way to extract the config setting at runtime, and use this to set the Timeout property
- [Edit] OR Set the default isolation-level without using TransactionOptions
© Stack Overflow or respective owner