About Me

My photo
Gatineau, Québec, Canada
SharePoint Microsoft Certified Professional/Microsoft Certified Technology Specialist, Software Engineer, Program Manager @ Transportation Safety Board of Canada

Sunday, October 17, 2010

Disposition des objets en SharePoint

Dans le contexte de développement d'un module SharePoint, la majorité des objets utilisés, implémenteront l'interface IDisposable. Il est critique, pour tout développeur de savoir comment bien disposer d'objets SharePoint chargés en mémoire. Les objets SPSite et SPWeb sont probablement les plus utilisés. Mals disposés, ces dernier causeront rapidement des erreurs et des fuites de mémoire.

Au cours des dernières semaines, mon équipe à eut a tenter d'identifier une fuite de mémoire avec un de nos module. Ce module faisait une itération à travers chaque SPWeb de chaque collection de site. J'ai remarqué alors que la majorité des développeurs, ne pensaient pas à bien disposer un objet dans le contexte d'une boucle ''For''. L'example ci-dessous démontre comment disposer des objets nécessaires à une telle logique de boucle sur chaque site:

SPWebApplication webApp = SPWebApplication.Lookup(new Uri(''http://localhost''));
foreach(SPSite site in webApp.Sites)
{
foreach(SPWeb web in site.RootWeb.Webs)
{

web.Dispose();
}
site.RootWeb.Dispose();
site.Dispose();
}

No comments:

Post a Comment