SPWorkItemJobDefinition-Klasse
Dient als die Basisklasse für die Definitionen der Zeitgeberaufträge für Arbeitsaufgaben ableiten. Diese Klasse funktioniert mit den Zeitgeberauftrag (SPTimerService) zum Verarbeiten von Arbeitsaufgaben (SPWorkItem Instanzen).
Vererbungshierarchie
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.Administration.SPPersistedObject
Microsoft.SharePoint.Administration.SPJobDefinition
Microsoft.SharePoint.Administration.SPPausableJobDefinition
Microsoft.SharePoint.Administration.SPWorkItemJobDefinition
Namespace: Microsoft.SharePoint.Administration
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
<GuidAttribute("611573DB-FDED-471e-9249-D899956FBD3F")> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public Class SPWorkItemJobDefinition _
Inherits SPPausableJobDefinition
'Usage
Dim instance As SPWorkItemJobDefinition
[GuidAttribute("611573DB-FDED-471e-9249-D899956FBD3F")]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public class SPWorkItemJobDefinition : SPPausableJobDefinition
Hinweise
Diese Klasse arbeitet eng mit den Klassen SPWorkItem und SPWorkItemCollection . Sie sollten die Collection-Klasse verwenden, die das SPSite -Objekt Zugriff auf die der Verarbeitungswarteschlange Arbeitsaufgaben hinzugefügt hat. Wenn Ihre Arbeitsaufgabe Zeitgeberauftrag ausgeführt wird, ruft es Arbeitsaufgaben aus der Warteschlange in Batches an, die auf den Arbeitsaufgabentyp (Type) basieren. Arbeitsaufgaben werden an die ProcessWorkItems -Methode in der Reihenfolge von Cluster übermittelt, die mithilfe der BatchIdangegeben ist.
Sie müssen zwei Methoden dieser Klasse überschreiben: WorkItemType und ProcessWorkItems. Beachten Sie jedoch, dass es zwei Varianten von der ProcessWorkItems -Methode gibt:
Es ist wichtig, für die Definition für Auftrag zur ausgewählte LockType Wert zu beachten. (Siehe die SPJobLockType -Aufzählung.)
Wenn der Sperrtyp ContentDatabaseist, des Zeitgeberauftrags sperrt eine gesamte Inhaltsdatenbank (SPContentDatabase Instanz) und alle die auszuführende Arbeitsaufgaben in dieser Datenbank vor dem Verschieben auf die nächste Folie (und seiner Websitesammlungen) verarbeitet. In den meisten Fällen ist dies eine Self einschränkende-Methode.
Wenn der Sperrtyp Noneist, haben Sie mehrere Front-End-Computern arbeiten, anhand des angegebenen Zeitgeberauftrags, der viel höhere Leistung bereitstellt. Wenn Sie auf den Zeitgeberauftrag nicht sperren verwenden, behandeln die Arbeitsaufgaben selbst (die Self Sperren sind) Arbeitsaufgabe sperren. Sperre Typ None ist der Standardwert.
LockType Wert Job bietet Sperren auf der Ebene des Zeitgeberauftrags und verhindert, dass den Auftrag auf mehrere Computer zu einem Zeitpunkt ausgeführt.
Im Allgemeinen, wenn Sie einen bestimmten und überzeugenden Grund So sperren Sie eine gesamte Inhaltsdatenbank haben, es wird empfohlen, dass Sie keine Sperrungen verwenden (d. h., verwenden Sie die Standardeinstellung, None).
Der Unterschied zwischen den beiden Varianten der ProcessWorkItems -Methode in, das die zweite bietet einen Boolean -Parameter continueProcessing. Für Projekt erstellte Definitionen mit diesen Konstruktor auf und bei der Sperrtyp None, ist arbeiten weiterhin Elemente Verarbeitung, bis keine Arbeitsaufgaben verbleiben.
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.
Siehe auch
Referenz
SPWorkItemJobDefinition-Member
Microsoft.SharePoint.Administration-Namespace
Microsoft.SharePoint.Administration.SPTimerService
Microsoft.SharePoint.SPWorkItem
Microsoft.SharePoint.SPWorkItemCollection
Microsoft.SharePoint.Administration.SPJobLockType