Durante años hemos tenido el cliente a mantener una única conexión persistente a la base de datos. El problema es detectar una falla de conexión intermitente y reconectar con gracia. Muy a menudo no sabrá que una conexión falló hasta que intente utilizarla (es decir, emitir un select arrojará un 'Error General de SQL')
Ahora usamos una clase estática disponible en todo el mundo cuyo trabajo es entregarle un conexión nueva a la base de datos, y cuando haya terminado con ella, utiliza la misma clase para deshacerse de la conexión.
DbConnection conn = Database.GetConnection();
try
{
//do stuff with the connetion
...
}
finally
{
Database.DisposeConnection(conn);
}
Nos hacemos esto porque no hay inicialización necesario para cuando que conectarse a la base de datos (que almacenamos información es CONTEXT_INFO de SQL Server, y hay que vaciar esa información cuando desconectamos)
Al hacer conexiones en el tiempo de espera de la piscina? –
Puede controlarlo a través de los nombres/valores de la conexión: http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx. Desplácese hacia abajo hasta la segunda tabla que contiene 'Duración de la conexión'. –