I am using ServiceStack OrmLite SqlServer v3.9.71 and have the following connection string:
<add key="ConnStr" value="Data Source=my-db;Initial Catalog=Users;Integrated Security=SSPI;Connection Timeout=666"/>
and am using the following to run a query which takes 2-3 minutes to come back:
using (Db)
{
var result = new ResultDto();
Parallel.Invoke(
() => { result.StatOne = Db.Dictionary<DateTime, int>(query1); },
() => { result.StatTwo = Db.Dictionary<DateTime, int>(query2); }
);
return result;
}
When putting a break point on the Db object, I can see the connection time out to be 666
but I can't figure out how to set/increase the Command Timeout every time I run the above it times out after 30
seconds which is the default timeout.
Any ideas?
You can use the connection string setting and construct the entire connectionstring (inlcuding username and password) to override the connection timeout (Connection Timeout=30). You can change the command timeout using /GlobalSettings/System/Database/CommandTimeout - default is 30.
Gets or sets the wait time (in seconds) before terminating the attempt to execute a command and generating an error. The default is 30 seconds. C# Copy.
The timeout can be set in OrmLite with OrmLiteConfig.CommandTimeout
that as a global config can either be statically configured either once on StartUp:
OrmLiteConfig.CommandTimeout = 666;
Or you can instead set the CommandTimeout scoped to a specific db connection with:
using (var db = DbFactory.Open())
{
db.SetCommandTimeout(60);
db.Select(...);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With