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

Liberar recursos

Estas en el tema de Liberar recursos en el foro de ASP Clásico en Foros del Web. Cuantos de nosotros usamos la línea Option Explicit al inicio de nuestras páginas asp? Bueno, yo creo que la mayoría NO lo hacemos. En este ...
  #1 (permalink)  
Antiguo 30/04/2002, 16:27
 
Fecha de Ingreso: octubre-2000
Ubicación: Juarez, Chih.
Mensajes: 161
Antigüedad: 23 años, 8 meses
Puntos: 0
Liberar recursos

Cuantos de nosotros usamos la línea Option Explicit al inicio de nuestras páginas asp?

Bueno, yo creo que la mayoría NO lo hacemos. En este tip intentaré convencerte de usarlo de ahora en adelante e inclusive regresar a tus páginas ya creadas para agregar esta linea.

La sentencia Option Explicit es usada para forzar la declaración de todas la variables en una página. Ayudandote a darle a tus páginas un mejor diseño de desarrollo al contar, por ejemplo, con un lugar donde declaras todas las variables que usarás.
Pero su fín principal ó su potencial no es este. Existe algo más y que te ayuda a tener un sitio más práctico y eficiente.

ASP, hace un set <tus variables> = nothing

(si tú no lo haces) de las variables que hayas declarado cuando termina de procesar cada página, liberando recursos.

Las variables que no hayas declarado no se eliminarán ó liberarán (set x=nothing).

Un ejemplo más real sería cuando abres una base de datos y no haces un set tabla= nothing al final de la página.

En este caso se interpretaría que estas dejando un objeto abierto (o memoria sin liberar) y si otro usuario visita esa página abrirá otra conexión y la 'dejará abierta' y otra y otra haciendo tu sitio muy lento.

Asi que usar Dim x de ahora en adelante no será tedioso para ti, sino inclusive necesario ya que como verás al usar Option Explicit (forzandote a declarar todas las variables) empezarás inclusive a usar una forma más elegante de programar.

Ok, solo por diversión responde:

Tu usas Option Explicit en todas tús páginas?



---------------------
Tan libre como gratuito!!!
  #2 (permalink)  
Antiguo 30/04/2002, 16:33
 
Fecha de Ingreso: diciembre-2001
Mensajes: 262
Antigüedad: 22 años, 6 meses
Puntos: 0
Re: Liberar recursos

Yo no

... Pero prometo hacerlo ....

!!En serio¡¡

<a href="http://www.almaluz.com"><Img src="http://www.almaluz.com/banners/B_almaluz.gif"></a>
  #3 (permalink)  
Antiguo 30/04/2002, 16:37
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: Liberar recursos

jajaaaa...wena almaluz...

en le banco me obligan a utilizar estas declaraciones y de verdad que son necesarias y utiles a la hora d evaluar desempeño..

pero a veces se me olvidan
...igual he pecado padre...confieso
uups...ke no me escuchen sera mejor
  #4 (permalink)  
Antiguo 30/04/2002, 20:41
Avatar de g_susdaniel  
Fecha de Ingreso: mayo-2001
Ubicación: Frente al Monitor :þ
Mensajes: 995
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: Liberar recursos

Otro muy buen tip, habia leido eso con vb pero igualmente no lo usaba, mucho pero gracias por recordarmelo lo tendre muy en cuenta ;)

<div align=right><embed src="http://www.jesusdaniel.venezuela.com/jd.swf" height=25 width=200 wmode="transparent"></embed><br>Usuario # 3359 en los foros</div>
  #5 (permalink)  
Antiguo 30/04/2002, 23:35
 
Fecha de Ingreso: febrero-2002
Ubicación: Mi ASP Bunker
Mensajes: 397
Antigüedad: 22 años, 3 meses
Puntos: 1
Re: Liberar recursos

Mas facil seria escribieran quien SI lo hace

Otra duda con respecto a esto VGaray :

usar el Set xxx = Nothing equivale a xxx.Close ? son similares ?

Otra cosa, conviene mantener variables-de-objeto en variables-de-sesion ? o sea tener una solo Session(&quot;RS&quot;) para todas las paginas y no abrir en cada una el mismo recordset ?

Saludos

PD: Os prometo incluir el Option+Dim..
  #6 (permalink)  
Antiguo 02/05/2002, 07:51
Avatar de g_susdaniel  
Fecha de Ingreso: mayo-2001
Ubicación: Frente al Monitor :þ
Mensajes: 995
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: Liberar recursos

el metodo close cierra el recorset, hace que desaparezcan todos los datos que ha encerrado el obejto, luego que ejecutamos el close podemos volver a usar el recorset para otra seleccion

Con el Set Objeto_rs = Nothing lo ke hacemos es destruir el Objeto ke kreamos antes Set Objeto_rs = Server.CreateObject(&quot;ADODB.Recorset&quot;) y destruyendo el objeto dudo ke lo podamos volver a usar ;)

<div align=right><embed src="http://www.jesusdaniel.venezuela.com/jd.swf" height=25 width=200 wmode="transparent"></embed><br>Usuario # 3359 en los foros</div>
  #7 (permalink)  
Antiguo 02/05/2002, 09:55
 
Fecha de Ingreso: enero-2002
Mensajes: 189
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: Liberar recursos

hola:

yo tambien tengo la misma duda que todavia no se despeja.Tengo lo siguiente:

Dim rst As ADODB.Recordset
Dim cmd As ADODB.Command

Set rst = CreateObject(&quot;ADODB.Recordset&quot;)
Set cmd = CreateObject(&quot;ADODB.Command&quot;)

cmd.ActiveConnection = GetConnectionString()
cmd.CommandText = strSP
cmd.CommandType = adCmdStoredProc

rst.CursorLocation = adUseClient
rst.CursorType = adOpenStatic
rst.LockType = adLockReadOnly
rst.Open cmd

Set execProcedureRecordset = rst

Set cmd.ActiveConnection = Nothing
Set rst.ActiveConnection = Nothing

Set rst = Nothing
Set cmd = Nothing

------------------
La duda es si al final de todo efectivamente logre cerrar la conexión a bd mediante:

Set cmd.ActiveConnection = Nothing
Set rst.ActiveConnection = Nothing

antes tenia un objeto connection cnn y se lo asignaba a cmd.ActiveConnection y luego al final hacia
cnn.close con lo que si estaba seguro que cerraba la conexión.
pero ahora solo asigno una &quot;cadena&quot; y no un objeto connection por lo tanto solo me queda setearlos a nothing.

a ver quien aclara mis dudas..

gracias de antemano.
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 20:26.