Bien he intentado reduciendo el LifeTime en mi cadena de conexión, además he hecho un:
set global wait_timeout=300;set global interactive_timeout=300;
para reducir los tiempos en los que las conexiones quedán esperando (al menos eso creo, según he leido con mi poco ingles). Todo parecía sobre ruedas, pero ayer (y a pesar de que en el status process list no me marcaba ninguna conexión activa para esa aplicacion y esa BD), volvió a pasar lo mismo.
Utilizo el conector .net para mysql. Pongo la excepción entera.
Código:
error connecting: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
at MySql.Data.MySqlClient.MySqlPool.GetConnection()
at MySql.Data.MySqlClient.MySqlPoolManager.GetConnection(MySqlConnectionString settings)
at MySql.Data.MySqlClient.MySqlConnection.Open()
at asmen.BD..ctor()
at asmen.Identifica.entrar_Click(Object sender, EventArgs e)
at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain()
Mi pregunta es, si alguna conexión queda abierta por código (por un fallo en el que se me halla olvidado cerrarla), con las medidas tomadas no debería cerrarla el GBD???Es ese realmente el problema???Podré Solucionarlo???
Muchas gracias de antemano.