Foros del Web » Programando para Internet » ASP Clásico »

Abrir una Conexion a Base de datos ¿Donde es mas recomendable?

Estas en el tema de Abrir una Conexion a Base de datos ¿Donde es mas recomendable? en el foro de ASP Clásico en Foros del Web. Hola amigos, Estoy realizando una aplicación en ASP, y estoy tratando de abrir conexion con la bd en el Application_Onstart de Global.Asa. Pensé que abriendo ...
  #1 (permalink)  
Antiguo 21/05/2005, 16:46
 
Fecha de Ingreso: noviembre-2004
Mensajes: 117
Antigüedad: 19 años, 7 meses
Puntos: 0
Pregunta Abrir una Conexion a Base de datos ¿Donde es mas recomendable?

Hola amigos,

Estoy realizando una aplicación en ASP, y estoy tratando de abrir conexion con la bd en el Application_Onstart de Global.Asa.

Pensé que abriendo la bd la primera vez que se inicia la session y cerrandola cuando el ultimo usuario termina la sessión en el Application_OnEnd sería mas eficiente . Pero solo lo pensé, porque no veo referencias de que eso se suela hacer. Lo mas que veo es que Application_Onstart se define el tipico Application("connstring") y las conexiones se hacen en las .asp con includes para el 'abre' y 'cierra'.

El caso es que funciona, incluso llegué a embeber el codigo con un amigo en una dll y llamarlo desde global.asa, pero no se si será correcto abrir y cerrar la conexion dentro de Application_Onstart y Application_OnEnd. Otra forma sería abrir la conexion en el Session_OnStart y cerrarlo en Session_OnEnd independiente para cada sessión de usuario, pero tampoco se si sería eficiente realizarlo de esta forma.

¿Me ayudan?
__________________
Saludos a todos ;)

Fiat en Malaga
.. y ahora con CSS!
  #2 (permalink)  
Antiguo 21/05/2005, 19:28
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola!

Para que quieres tener una conexion a la base de datos totalmente permanente ?

Es mejor que abras y cierres la conexion a la base de datos solamente cuando lo necesitas, tener una linea abierta siempre trae problemas de seguridad y tienes recursos dedicados a eso cuando no es necesario.

Por eso lo mejor es lo que has visto de hacerlo en ASP

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #3 (permalink)  
Antiguo 22/05/2005, 11:57
 
Fecha de Ingreso: noviembre-2004
Mensajes: 117
Antigüedad: 19 años, 7 meses
Puntos: 0
Bueno, te doy toda la razón.

http://www.asptutor.com/asp/vart.asp?id=93

Cita:
¿Qué es lo que ocurre si se almacenan en caché componentes no ágiles? Un componente de este tipo almacenado en el objeto Session “bloqueará” la sesión a un subproceso de trabajo ASP. ASP mantiene un conjunto de procesos de trabajo que se ocupan de las solicitudes. Normalmente el primer subproceso de trabajo que estuviera libre se ocuparía de la nueva solicitud. Si se bloquea una sesión a un subproceso, la solicitud debe esperar hasta que el subproceso asociado se encuentre disponible. A continuación presentamos una analogía que bien puede servir para explicarlo: uno va al supermercado, selecciona varios tipos de artículos comestibles y abona el importe en la caja nº 3. Imagine que a partir de ese momento, siempre que compre artículos en ese supermercado, debe abonarlos en la misma caja nº 3, aunque haya menos personas esperando en otras cajas o algunas de ellas se encuentre vacía.
Lo importante es participar

Gracias por tu ayuda
__________________
Saludos a todos ;)

Fiat en Malaga
.. y ahora con CSS!
  #4 (permalink)  
Antiguo 23/05/2005, 02:31
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Gracias por la nota!!

A veces no me creen cuando digos cosas así en el foro , piensan que son puras fantasias mias... jejeje, pero aunque no conocia ese articulo tal como lo menciona ahi, yo conocia otras razones por eso te decia que no era nada recomendable hacerlo, porque de hecho con esa explicación más detallada que encontraste te puedes dar cuenta como combinar session y DB trae fallas de seguridad y también provoca el 90% de las veces fugas de memoria, lentitud en servidores, etc, y aunque en tu pregunta orifinal no estas propiamente combinando session, si estas involucrando la memoria principal del servidor para ese proceso.

Y lo que encontrarte bueno, pues aun no explica en cuestion de bases de datos que mantener esas lineas abiertas en todo momento traen graves problemas de seguridad.

Suerte, y gracias por poner el articule, jejeje!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:18.