SharePoint 2007 : Dispose Patterns et l'outil SPDisposeCheck

[via Paul Andrew]

SPDisposeCheck avait été présenté dernièrement  sur le blog de l'équipe SharePoint dans un post relativement récent : Announcing SPDisposeCheck tool for SharePoint Developers

C'est un outil qui va vous permettre de vérifier que vous libérez bien les ressources liées à différents objets SharePoint comme SPSite, SPWeb, SPLimitedWebPartManager.Web, etc...  dans tout vos développements SharePoint.

En fait, il va s'assurer que vous respectez bien les bonnes pratiques spécifiés dans les posts suivants :

Par exemple, il va analyser votre code pour que vous évitiez de faire ce genre de choses (extrait du post de Roger Lamb's):

   1:  void SPLimitedWebPartManagerLeak()
   2:  {
   3:      using (SPSite siteCollection = new SPSite("http://moss"))
   4:      {
   5:          using (SPWeb web = siteCollection.OpenWeb())
   6:          {
   7:              SPFile page = web.GetFile("Source_Folder_Name/Source_Page");
   8:              SPLimitedWebPartManager webPartManager = page.GetLimitedWebPartManager(PersonalizationScope.Shared);
   9:              // SPWeb object webPartManager.Web leaked
  10:          } // SPWeb object web.Dispose() automatically called
  11:      }  // SPSite object siteCollection.Dispose() automatically called 
  12:  }
  13:   
  14:  void SPLimitedWebPartManagerNoLeak()
  15:  {
  16:      using (SPSite siteCollection = new SPSite("http://moss"))
  17:      {
  18:          using (SPWeb web = siteCollection.OpenWeb())
  19:          {
  20:              SPFile page = web.GetFile("Source_Folder_Name/Source_Page");
  21:              using (SPLimitedWebPartManager webPartManager = page.GetLimitedWebPartManager(PersonalizationScope.Shared))
  22:              {
  23:                  try
  24:                  {
  25:                      // ...
  26:                  }
  27:                  finally
  28:                  {
  29:                      webPartManager.Web.Dispose();
  30:                  }
  31:              }
  32:          } // SPWeb object web.Dispose() automatically called
  33:      }  // SPSite object siteCollection.Dispose() automatically called 
  34:  }

L'avantage évident de cet outil est d'être sur d'obtenir une application performante qui ne consomme pas plus de mémoire que nécessaire et qui ne conserve pas indéfiniment des objets SharePoint qui vont maintenir des accès couteux à la base de données SharePoint.

Bref un seul conseil à vous donner : allez le récupérer et tester le, ça va vous changer la vie !

Vous pouvez le télécharger sur le site de la MSDN Code Gallery : http://code.msdn.microsoft.com/SPDisposeCheck

<Philippe/>

Publié vendredi 30 janvier 2009 09:39 par phil
Classé sous , , ,
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

About phil

Philippe Sentenac est Consultant SharePoint à Wygwam en région Parisienne. Il intervient essentiellement sur des missions liées à SharePoint (2007 et 2010 ) mais aussi autour du Web 2.0. Plus généralement, il s'intéresse à l'ASP.Net (MVC) , à Silverlight, et à tout ce qui est orienté Web en rapport avec les nouvelles technologies, qu'il pratique depuis 2006. Féru de développement, il est passionné par les problématiques de méthodologies et d'industrialisation du développement.

Les 10 derniers blogs postés

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01