Freigeben über


SqlWorkflowPersistenceService Klasse

Definition

Achtung

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

Stellt einen Persistenzdienst dar, der eine SQL-Datenbank zum Speichern von Workflowstatusinformationen verwendet.

public ref class SqlWorkflowPersistenceService : System::Workflow::Runtime::Hosting::WorkflowPersistenceService, System::Workflow::Runtime::IPendingWork
public class SqlWorkflowPersistenceService : System.Workflow.Runtime.Hosting.WorkflowPersistenceService, System.Workflow.Runtime.IPendingWork
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public class SqlWorkflowPersistenceService : System.Workflow.Runtime.Hosting.WorkflowPersistenceService, System.Workflow.Runtime.IPendingWork
type SqlWorkflowPersistenceService = class
    inherit WorkflowPersistenceService
    interface IPendingWork
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type SqlWorkflowPersistenceService = class
    inherit WorkflowPersistenceService
    interface IPendingWork
Public Class SqlWorkflowPersistenceService
Inherits WorkflowPersistenceService
Implements IPendingWork
Vererbung
Attribute
Implementiert

Hinweise

Anmerkung

In diesem Material werden Typen und Namespaces erläutert, die veraltet sind. Weitere Informationen finden Sie unter veraltete Typen in Windows Workflow Foundation 4.5.

Die SqlWorkflowPersistenceService-Klasse stellt einen voll funktionsfähigen Persistenzdienst dar. Sie können diesen Dienst sofort einsatzbereit verwenden, um Workflowstatusinformationen zu einer Workflowinstanz beizubehalten und abzurufen, wenn sie vom Workflowlaufzeitmodul angefordert werden.

Die SqlWorkflowPersistenceService nimmt an der Workflowtransaktionsbatchingfunktion teil, die vom WorkflowCommitWorkBatchServicebereitgestellt wird. Das heißt, sie fügt Objekte hinzu, die ausstehende Schreibvorgänge in die SQL-Datenbank in der WorkBatch darstellen und die IPendingWork Schnittstelle implementiert.

Die SqlWorkflowPersistenceService unterstützt das Sperren von Workflowinstanzen. Dieses Feature wird verwendet, wenn mehrere Workflowlaufzeiten dieselbe Datenbank gemeinsam nutzen. Eine Spalte in der SQL-Datenbanktabelle wird verwendet, um eine Workflowinstanz immer dann als gesperrt zu markieren, wenn sie von einer Workflowlaufzeit verwendet wird. Die SqlWorkflowPersistenceService lädt keine Workflowinstanz, die von einer anderen Laufzeit als "verwendet" gekennzeichnet ist. In der Regel werden diese Sperren freigegeben, wenn die Workflowinstanz beibehalten wird, z. B. bei Leerlauf, Abschluss oder Beendigung. Die Sperren können auch nach einer Bestimmten Inaktivität automatisch freigegeben werden. Dieser Zeitraum der Inaktivität kann mithilfe des Konstruktors der SqlWorkflowPersistenceService-Klasse festgelegt werden. Sie kann auch über die Konfigurationsdatei festgelegt werden.

Weitere Informationen zu Persistenzdiensten im Allgemeinen finden Sie in der WorkflowPersistenceService Klasse.

Workflowinstanzen können z. B. Zeitgeber enthalten, wenn sie über eine DelayActivityverfügen. Bei Workflows, die Zeitgeber enthalten, zeichnet die SqlWorkflowPersistenceService die Uhrzeit auf, zu der der nächste Zeitgeber des Workflows abläuft. Die SqlWorkflowPersistenceService fragt die Datenbank regelmäßig ab und sucht nach Workflows, deren Zeitgeber abgelaufen sind. Die Häufigkeit des Abrufintervalls kann mithilfe des SqlWorkflowPersistenceService-Konstruktors oder mithilfe einer Konfigurationsdatei festgelegt werden.

Anmerkung

Wenn Sie sowohl die SqlTrackingService als auch die SqlWorkflowPersistenceService in einer Workflowanwendung verwenden, empfiehlt es sich, eine einzelne Datenbank sowohl für Persistenz als auch für die Nachverfolgung zu verwenden.

Konstruktoren

SqlWorkflowPersistenceService(NameValueCollection)
Veraltet.

Initialisiert eine neue Instanz der SqlWorkflowPersistenceService Klasse mithilfe der angegebenen Parameter.

SqlWorkflowPersistenceService(String, Boolean, TimeSpan, TimeSpan)
Veraltet.

Initialisiert eine neue Instanz der SqlWorkflowPersistenceService Klasse mithilfe einer Datenbankverbindungszeichenfolge und anderer Parameter.

SqlWorkflowPersistenceService(String)
Veraltet.

Initialisiert eine neue Instanz der SqlWorkflowPersistenceService Klasse mithilfe der Datenbankverbindungszeichenfolge.

Eigenschaften

EnableRetries
Veraltet.

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die SqlWorkflowPersistenceService wiederholungen, die einen Arbeitsbatch übernehmen.

LoadingInterval
Veraltet.

Ruft die Länge des Ladeintervalls ab.

Runtime
Veraltet.

Ruft die WorkflowRuntime für diesen Dienst ab.

(Geerbt von WorkflowRuntimeService)
ServiceInstanceId
Veraltet.

Ruft den Dienstinstanzbezeichner ab.

State
Veraltet.

Ruft den Status der WorkflowRuntimeServiceab.

(Geerbt von WorkflowRuntimeService)

Methoden

Equals(Object)
Veraltet.

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetAllWorkflows()
Veraltet.

Ruft Instanzenbeschreibungen aller gespeicherten Workflows ab.

GetHashCode()
Veraltet.

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()
Veraltet.

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
LoadCompletedContextActivity(Guid, Activity)
Veraltet.

Ruft den angegebenen abgeschlossenen Bereich aus der Datenbank ab.

LoadExpiredTimerWorkflowIds()
Veraltet.

Ruft eine Liste der IDs für Workflows mit abgelaufenen Timern ab.

LoadWorkflowInstanceState(Guid)
Veraltet.

Ruft den angegebenen Workflowinstanzstatus aus der Datenbank ab.

MemberwiseClone()
Veraltet.

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
OnStarted()
Veraltet.

Startet einen neuen Timer und stellt ausgeführte Workflowinstanzen wieder her.

OnStopped()
Veraltet.

Wenn sie in einer abgeleiteten Klasse außer Kraft gesetzt wird, stellt die Methode dar, die aufgerufen wird, wenn das Workflowlaufzeitmodul das Stopped-Ereignis auslöst.

(Geerbt von WorkflowRuntimeService)
RaiseServicesExceptionNotHandledEvent(Exception, Guid)
Veraltet.

Löst das ServicesExceptionNotHandled-Ereignis aus.

(Geerbt von WorkflowRuntimeService)
SaveCompletedContextActivity(Activity)
Veraltet.

Speichert den Status des angegebenen abgeschlossenen Bereichs.

SaveWorkflowInstanceState(Activity, Boolean)
Veraltet.

Speichert den angegebenen Workflowinstanzstatus.

Start()
Veraltet.

Startet die SqlWorkflowPersistenceService.

Stop()
Veraltet.

Beendet den Dienst und den Timer.

ToString()
Veraltet.

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
UnloadOnIdle(Activity)
Veraltet.

Gibt einen Wert zurück, der angibt, ob der Workflow entladen wird, wenn er sich im Leerlauf befindet.

UnlockWorkflowInstanceState(Activity)
Veraltet.

Sperrt den Zugriff auf den angegebenen Workflowinstanzstatus.

Explizite Schnittstellenimplementierungen

IPendingWork.Commit(Transaction, ICollection)
Veraltet.

Schreibt eine ICollection von serialisierten Zustandsobjekten in die Datenbank.

IPendingWork.Complete(Boolean, ICollection)
Veraltet.

Schließt den Arbeitsbatch ab und gibt alle Ressourcen frei.

IPendingWork.MustCommit(ICollection)
Veraltet.

Gibt einen Wert zurück, der angibt, ob die Auflistung serialisierter Zustandsobjekte in die Datenbank geschrieben werden soll.

Gilt für: