Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

SPWorkItemJobDefinition - Classe

Sert de classe de base pour la dérivation des définitions des travaux du minuteur d'élément de travail. Cette classe fonctionne avec le travail du minuteur (SPTimerService) pour traiter les éléments de travail (instances deSPWorkItem ).

Espace de noms :  Microsoft.SharePoint.Administration
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

[GuidAttribute("611573DB-FDED-471e-9249-D899956FBD3F")]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public class SPWorkItemJobDefinition : SPPausableJobDefinition

Cette classe fonctionne en étroite collaboration avec les classes SPWorkItem et SPWorkItemCollection . Vous devez utiliser la classe de collection à laquelle l'objet SPSite a accès, à ajouter des éléments de travail à la file d'attente de traitement. Lorsque votre travail du minuteur de l'élément de travail s'exécute, il extrait la file d'attente des éléments de travail dans les lots qui sont basés sur le type d'élément de travail (Type). Les éléments de travail sont remis à la méthode ProcessWorkItems dans la commande de cluster, qui est spécifiée à l'aide de la BatchId.

Vous devez substituer deux méthodes de cette classe : WorkItemType et ProcessWorkItems. Notez, toutefois, qu'il existe deux variantes de la méthode ProcessWorkItems :

Il est important de noter la valeur LockType sélectionnée pour la définition de travail. (Voir l'énumération SPJobLockType .)

Si le type de verrou est ContentDatabase, votre travail de minuteur verrouille une base de données contenu entier (SPContentDatabase instance) et traite tous les éléments de travail exécutable dans cette base de données (et à ses collections de sites) avant de passer à la suivante. Dans la plupart des cas, il s'agit d'une méthode automatique de limitation.

Si le type de verrou est None, vous pouvez avoir plusieurs ordinateurs frontaux de travail contre le travail du minuteur spécifié, qui offre des performances nettement supérieures. Lorsque vous n'utilisez pas de verrous sur le travail du minuteur, les éléments de travail eux-mêmes (qui sont AUTOBLOQUANT) gérer le verrouillage de l'élément de travail. Type de verrou None est la valeur par défaut.

LockType valeur Job fournit des verrous au niveau du travail du minuteur et empêche la tâche de s'exécuter sur plusieurs ordinateurs à la fois.

En règle générale, à moins que vous n'ayez une raison incontournable et spécifique pour verrouiller l'intégralité d'une base de contenu, il est recommandé de ne pas utiliser de verrous (autrement dit, utiliser la valeur par défaut, None).

La différence entre les deux variantes de la méthode ProcessWorkItems que la seconde fournit un paramètre de Boolean , continueProcessing. Tâche les définitions créées à l'aide de ce constructeur, lorsque le type de verrou est None, travaillent éléments poursuivre le traitement jusqu'à ce qu'aucun des éléments de travail ne restent.

Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.
Afficher: