Partager via


Optimisation des performances du code

Dernière modification : mercredi 7 octobre 2009

S’applique à : SharePoint Foundation 2010

Évitez de créer et de détruire inutilement des objets dans le code, car cette opération pourrait nécessiter que des requêtes supplémentaires soient effectuées sur la base de données, voire impliquer du code incorrect.

Dans l'exemple suivant, des objets séparés pour la Tasks list doivent être instanciés chaque fois que l'indexeur est utilisé pour définir des propriétés et que la méthode de mise à jour est appelée. Cette pratique est déconseillée.

Exemple : (non recommandé)

Dim myWeb As SPWeb = SPContext.Current.Web

myWeb.Lists("Tasks").Title = "List_Title"
myWeb.Lists("Tasks").Description = "List_Description"
myWeb.Lists("Tasks").Update()
SPWeb myWeb = SPContext.Current.Web;

myWeb.Lists["Tasks"].Title = "List_Title";
myWeb.Lists["Tasks"].Description = "List_Description";
myWeb.Lists["Tasks"].Update();

L'exemple suivant instancie l'objet Tasks list une seule fois fois et l'affecte à la variable myList afin de définir les propriétés et d'appeler la méthode.

Exemple : (recommandé)

Dim myWeb As SPWeb = SPContext.Current.Web

Dim myList As SPList = myWeb.Lists("Tasks")

myList.Title="List_Title"
myList.Description="List_Description"
myList.Update()
SPWeb myWeb = SPContext.Current.Web;

SPList myList = myWeb.Lists["Tasks"];

myList.Title="List_Title";
myList.Description="List_Description";
myList.Update();

L'exemple précédent nécessite une directive using (Imports dans Visual Basic) pour l'espace de noms Microsoft.SharePoint.

Les modèles objet de l'assembly Microsoft.SharePoint optimisent les performances et réduisent le nombre de requêtes SQL effectuées. Toutefois, pour surveiller les performances du code, il est recommandé d'utiliser le Générateur de profils SQL.

Pour retourner un élément unique à partir d’une collection, utilisez toujours une méthode Get* lorsqu’un objet parent en fournit une, au lieu d’itérer l’intégralité de la collection et d’utiliser un indexeur. Par exemple, la classe SPWeb fournit les méthodes GetFile,GetFolder et GetListItem qui permettent de retourner des éléments uniques.

Voir aussi

Concepts

Tâches de développement SharePoint : comment faire...?

Utilisation des objets Liste et des collections