session - objeto - variables de sesion aspx
En Classic asp, ¿puedo almacenar una conexión de base de datos en el objeto Session? (5)
¿Puedo almacenar una conexión de base de datos en el objeto Session?
Me parece recordar que hacerlo tendrá el efecto de enrutar solo su aplicación, lo que sería algo malo.
Como dijo CJM, no es necesario almacenar una conexión en un objeto Session: la agrupación de conexiones es mucho mejor.
En general, no almacenaría ningún objeto en las variables de aplicación (y ciertamente no en las variables de sesión).
Cuando se trata de conexiones de bases de datos, es un claro no-no; además, no hay absolutamente ninguna necesidad.
Si usa ADO para comunicarse con la base de datos, si usa la misma cadena de conexión (sí, de todos modos lo almacena en una variable de Aplicación) para todas las conexiones de su base de datos, la "agrupación de conexiones" se implementará detrás de las escenas. Esto significa que cuando liberas una conexión, en realidad no se destruye, sino que queda a un lado para los próximos tipos que desean la misma conexión. Así que la próxima vez que solicite la misma conexión, se extraerá de la estantería en lugar de tener que crearla e instanciarla explícitamente, lo cual es una mejora de eficiencia bastante buena.
Desde este enlace http://support.microsoft.com/default.aspx/kb/243543
No debe almacenar la conexión de la base de datos en Session.
Por lo que entiendo, si lo hace, las siguientes solicitudes ASP para el mismo usuario deben usar el mismo hilo.
Por lo tanto, si tiene un sitio ocupado, es probable que alguien más esté usando ''su'' hilo, por lo que deberá esperar a que esté disponible.
Multiplica esto por muchos más usuarios y obtendrás a todos esperando el hilo de todos los demás y un sitio poco receptivo.
En general, no se recomienda hacerlo, una cadena de conexión en la variable Aplicación, con una buena función / clase auxiliar es un método preferido. Aquí hay alguna referencia. (Se eliminó el enlace muerto porque ahora conduce a un sitio phishy)