Hola Diego,

Tal como dice Leonardo, no tenes problemas, siempre y cuando SIEMPRE uses
siempre using {} (valga la redundancia :) ). Sin embargo, si se dan las
siguientes circunstancias al mismo tiempo:

- ese objeto lo creas es recogido por el GC, y
- tiene un finalizador no del todo correcto (que tarda mucho), y
- en esas condiciones creas y descartas muchos objetos

Podes bloquear el thread de finalizacion del GC (el cual es unico para todo el
AppDomain) por lo tanto, el GC deja de recolectar objetos y el AppDomain se
queda sin memoria.

Otro thread aparte merece el riesgo que tiene forzar la recoleccion de objetos,
de esto me entere el la ultima charla que dio Diego Gonzalez en el MUG (vayan
siempre a escuchar a Diego Gonzales, no importa de lo que hable).

Carlos Peix 

> -----Original Message-----
> From: [email protected] [mailto:[EMAIL PROTECTED] On 
> Behalf Of Diego Jancic
> Sent: Miércoles, 16 de Enero de 2008 10:37 a.m.
> To: [email protected]
> Subject: [puntonet] aspnet_wp.exe
> 
> Una pregunta ya que estan con esto... implementar IDisposable 
> y usar un using (...) tambien tiene esos problemas que dicen ustedes ?
> 
> Grax!
> Diego
> 
> 2008/1/16 Carlos Peix <[EMAIL PROTECTED]>:
> >
> > Yo agregaria que es mas costoso aun la destruccion del 
> objeto si hay 
> > un finalizer explicito mal implementado (como sugiere 
> Carlos). Incluso 
> > hay que tener mucho cuidado con la manipulacion del Garbage 
> Collector, 
> > uno puede obtener lo contrario de lo que busca.
> >
> > Carlos Peix
> >
> > ________________________________
> > From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of 
> > Leonardo Micheloni
> > Sent: Martes, 15 de Enero de 2008 10:22 p.m.
> > To: [email protected]
> > Subject: [puntonet] aspnet_wp.exe
> >
> > Es verdad, una vez en un curso de un tral Carlos Perez ;-) que la 
> > creación de los objetos es una de las tareas más costosas (sino la 
> > más) para una máquina virtual, es una de las cosas que uno tiene en 
> > cuenta en aplicaciones móviles por ejemplo.
> >
> > 2008/1/15 Carlos A. Perez <[EMAIL PROTECTED]>:
> > > Una pregunta: en alguna de tus clases estás utilizando Finalizers 
> > > explicitos? Esto lo complica mucho al recolector de basura, si el 
> > > objeto
> > es
> > > muy utilizado, el GC seguro se muere administrando la cola de 
> > > finalización que de otra manera no necesitaría de su 
> atención (hasta 
> > > 6 veces la degradación comparada con clases sin finalizers).
> > >
> > > Según lo que me contás, yo descartaría un tema con el backend 
> > > entonces, y
> > la
> > > memoria de tu servidor está ok, con esa RAM no deberías tener 
> > > mayores problemas.
> > >
> > > Otra pregunta odiosa: reutilizás los objetos en la medida 
> de lo posible?
> > > Fijate en tu código, qué hacés con los objetos más 
> grandes? ¿Sería 
> > > posible aplicar un patrón singleton en tu aplicación? 
> (exigiría una 
> > > minima recodificacion en la clase misma, pero deberías 
> cambiarla en 
> > > todas las llamadas al objeto en tu aplicación).
> > >
> > >
> > > Carlos
> >
> 


Responder a