Jan31

SPDisposeCheck

Tags: MOSS/WSS

Recientemente Microsoft ha liberado en MSDN Code Galery la utilidad SPDisposeCheck.

Extracto del blog de Paul Andrew:

"SPDisposeCheck is a tool to help SharePoint Developers follow memory management best practices when using the SharePoint API with IDisposable objects including SPSite and SPWeb. This tool is not supported by Microsoft and is recommended to be used on Developer workstations and not on production SharePoint Server installations."

Básicamente como comenta Paul Andrew es una herramienta dirigida a los desarrolladores para verificar la correcta aplicación de las practicas recomendadas a la hora de liberar los objetos IDisposable.

Muchos blogs se han echo eco del tema, pero me parece buen momento para mediante un ejemplo muy sencillo mostrar el gran potencial de esta nueva y útil herramienta a la hora de verificar el correcto desarrollo de código sobre la API de MOSS.

Lo primero es descargar la herramienta:http://code.msdn.microsoft.com/SPDisposeCheck

Una vez instalada, nos permitirá evaluar la correcta liberación de los objetos IDisposable sobre cualquier librería.

Por ejemplo para este código donde se implementa un sencillo WebPart:

image

Si ejecutamos sobre la dll correspondiente a este código el SPDisposeCheck:

image

Podemos ver que nos muestra dos posibles errores, los objetos SPSite y SPWeb que no son liberados dentro del método CreateChildControls.

Para cada uno de los errores también nos muestra una referencia al blog de MSDN del DisposeCheck donde se muestra como liberar correctamente cada objeto.

Modifico el código del WebPart para liberar correctamente los objetos SPSite y SPWeb:

 

image

Y nuevamente ejecuto la utilidad SPDisposeCheck, ahora la herramienta no devuelve ningún error:

image

.

Publicado: 31-Jan-09 | 4 Comentarios | 613 Enlaces a este post