Que es el Dispose.......
Cuando usar el Dispose?
Muchas Gracias................
| ||||
Segun tengo entendido el Dispose no es necesario ejecutarlo(gracias a que .NET trae un recolector de basura que se encarga de eliminar los objetos que no estamos usando),pero no está de mal ponerlo,corriganme si me equivoco :),saludos! |
| ||||
efectivamente sundark. Por ejémplo: Sub Procedimiento() Dim Obj as Object ... ... Obj.Dispose End Sub En el procedimiento anterior es innecesario llamar al método dispose en ese momento ya que el objeto tiene alcance de procedimiento, cuando éste termina, se elimina automáticamente. |
| |||
Me parecen acertados sus comentarios en teoría , pero la realidad es otra. He intentado cerrar objetos de conexion con la propiedad DISPOSE y me he dado cuenta de que no librea "realmente" los recursos, de hecho lo que tengo que hacer para que no me genere error es usar "CLOSE" o a la antiguita "NOTHING". Entiendo que G.C. entra en accion y elimina los objetos que esten marcados con DISPOSE, el problem es que uno no sabe cuando entra en accion , llamarlo es inutil porque hara aparicion solo cuando el FrameWork lo considera necesario. Por lo tanto yo recomendaria que en el uso de conexiones, y cualquier otro objeto reutilizable lo destruyesen por completo antes de volver a usarlo. saludos esta es mi humild eopinion en base a la experiencia
__________________ Ivancio Mexico |
| ||||
es verdad, como dije en mi primer post, el momento en el que el Garbage Collector destruye los objetos es arbitrario, y aunque dicho proceso se puede forzar utilizando GC.Collect() algunos entendidos dicen que ni así se garantiza que se eliminen inmediatamente. Además su uso es, a mi entender, útil solamente en contados escenarios prácticos. |