Is there any way to globally setup time you would wait for connecting to a given database, before a connection failure in NHibernate (connection timeout)? In ADO.NET you can do it for a single connection like this:
new SqlConnection().ConnectionTimeout = 10;
I found how to setup the time you would wait for a result set, before a command execution failure here (command timeout). But, apparently, that's not what I need
You can use the connection_timeout
setting in your NHibernate configuration code. See section 3.4 of the documentation for full details.
The XML configuration for this is as follows...
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="dialect">NHibernate.Dialect.MsSql2012Dialect</property>
<property name="connection.connection_string">
Server=(local);initial catalog=theDb;Integrated Security=SSPI
</property>
<property name="connection_timeout">100</property>
</session-factory>
</hibernate-configuration>
<!-- other app specific config follows -->
I'm using Fluent NHibernate so my configuration code is as follows...
FluentConfiguration configuration = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2012.ConnectionString(ConnectionString))
.ExposeConfiguration(cfg => cfg
.SetProperty("connection_timeout", "100")
.Mappings(m =>
{
var cfg = CreateAutomappings();
m.AutoMappings.Add(cfg);
});
You can set it on the connection string, "Connection Timeout=x".
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