You are wondering why your DB-transaction, startet by
using(TransactionScope scope = new TransactionScope(timeout))
runs into a timeout after 10 minutes?
in the system.transactions section of the machine.config has a default value of 10 minutes. And whatever is set as timeout of the TransactionScope by code – machine.config overrides it all.
So you have to change the machine.config, which does not contain a system.transaction section by default – which doesn’t mean the timeout default value does not exist.
And as long as you hadn’t set a timeout in the code, you don’t have to change any line. The new value of the machine.config is used when the process starts. No machine reboot is required.
Btw: You will find the machine config in %install path%/Config. Which is usually c:\windows\Microsoft .NET\Framework\V…\Config. On x64 machines, there is a Framework64 directory as well. My suggestion is to change all machine.config files to make sure every environment behaves in the same way.
The source of my knowledge: http://technet.microsoft.com/en-us/library/ms149852(VS.90).aspx