Tengo una aplicación que está causando muchos dolores de cabeza. Es una aplicación .NET que se conecta a SQL Server 2005 a través de un servicio web. El programa tiene una grilla que se llena con un procedimiento almacenado de larga ejecución que tiende a agotar el tiempo de espera. En el caso en que se agote el tiempo de espera y se genere una SqlException, no hay manejo de la excepción para cerrar la conexión.¿Cuáles son las consecuencias de no cerrar la conexión de la base de datos después de un error?
¿Cuáles son las consecuencias reales de esta condición? Creo que el framework o SQL Server probablemente lo solucione de una manera u otra, pero no estoy seguro.
Adición El programa siempre funciona bien por la mañana, pero después de aproximadamente una hora de uso, básicamente deja de funcionar. El problema no es que no sepa cómo codificar la conexión correctamente. Necesito saber si estos síntomas podrían ser causados por las conexiones no cerradas. Es una gran cosa cambiar el código de producción y me gustaría saber que al menos es posible que este sea el problema.
Conclusión Diseñé este error en cientos de conexiones simultáneas. Nunca pude reproducir la condición de falla en el entorno de la aplicación. Las mejores prácticas marcadas responden como correctas. Gracias a todos.
Creo que la etiqueta debería haber sido sql-server y no dos etiquetas separadas, ya que las preguntas muestran –
. gracias. –
Parece que tiene la agrupación de conexiones activada en su entorno de producción. Con la agrupación activada, las conexiones no se cierran incluso si les dices que se cierren, por lo que no importará que no las cierre. – MusiGenesis