estoy revisando una web echa en c# con mysql 5 la cual tiene el siguiente problema: Los thread de la conexion a la Bd no se cierran una vez que se cierra la ventana del navegador, veo que todas la conecciones se kedan en sleep por n segundos.
La "logica de Negocio" de esta web esta en un proyecto aparte tipo class library al cual la web hace referencia.
Esta "logica de Negocio" posee una clase que se encarga de la conexion a la base de datos , de cerrar la conexion(en el destructor) y de adminisrtar la demas clases que posee la "logica de Negocio".
tal parece que la llamada al destructor no funciona ya que no cierra la conexion a la BD..
Todavia estoy novato con el .net no se si me pudieran dar una sugeria de como manejar las conexiones con la base de datos.
aki parte del codigo
Código PHP:
namespace Logika
{
public class Logika
{
private string strDataBaseName;
private MySqlConnection objCnn;
private string strError;
public string ErrorDescrip
{
get { return this.strError; }
}
#region Manejadores
private EmpleadoManager empleado_manager;
public EmpleadoManager EmpleadoManager
{
get { return this.empleado_manager; }
set { this.empleado_manager = value; }
}
#endregion
public Logika() {
this.strDataBaseName = "mi_base";
//manejadores
this.empleado_manager = new EmpleadoManager();
}
~Logika()
{
this.objCnn.Close();
this.objCnn = null;
}
public void Load()
{
string strCnn = string.Format("server={0};user id={1}; password={2}; database={3}; pooling=false"
, "localhost", "root", "", this.strDataBaseName);
strError=null;
try
{
this.objCnn = new MySqlConnection(strCnn);
this.objCnn.Open(); //aqui abre la conx a la base de datos
//pasando el objCnn
this.empleado_manager.SetDataBase(this.objCnn, this.strDataBaseName); // aqui se lo pasa al controlador de empleado
}
catch (Exception ex)
{
strError = ex.ToString();
}
}
......