Verwenden von SharedConnectionWorkflowCommitWorkBatchService
Die WorkflowRuntime-Klasse erstellt beim Starten des Workflow-Laufzeitmoduls ein DefaultWorkflowCommitWorkBatchService-Objekt, wenn kein anderer WorkflowCommitWorkBatch-Dienst hinzugefügt wurde. Sie können diesen Dienst im Workflow verwenden, um für Datenintegrität benötigte Arbeitsbatches zu unterstützen.
Auch der SharedConnectionWorkflowCommitWorkBatchService-Dienst kann verwendet werden. Dieser Dienst wird für Datenbanktransaktionen verwendet, die eine freigegebene Verbindung zwischen verschiedenen Objekten verwenden. Soll anstelle des DefaultWorkflowCommitWorkBatchService-Diensts in der WorkflowRuntime-Instanz der SharedConnectionWorkflowCommitWorkBatchService-Dienst verwendet werden, verwenden Sie die gemäß dem folgenden Beispiel die AddService-Methode. Der Parameter für den SharedConnectionWorkflowCommitWorkBatchService-Konstruktor ist die Datenbankverbindungszeichenfolge.
Hinweis
Wenn der von SharedConnectionWorkflowCommitWorkBatchService verwendete SQL Server nicht aktiviert ist, z. B. aufgrund eines SQL-Clusterfailovers oder zeitweiligen Netzwerkfehlers, wird der Commit-Prozess vom SharedConnectionWorkflowCommitWorkBatchService-Dienst mindestens 15 bis 20 Mal wiederholt, bevor ein ServicesExceptionNotHandled-Ereignis ausgelöst wird. Dieses Verhalten tritt jedoch nur auf, wenn die EnableRetries-Eigenschaft des SharedConnectionWorkflowCommitWorkBatchService-Diensts auf true festgelegt wird.
static void Main(string[] args)
{
string connectionString = " Initial Catalog=WorkflowDataStore;Data Source=localhost;Integrated Security=SSPI;";
WorkflowRuntime workflowRuntime = new WorkflowRuntime();
workflowRuntime.AddService( new SharedConnectionWorkflowCommitWorkBatchService(connectionString));
workflowRuntime.StartRuntime();
// …
workflowRuntime.StopRuntime();
}
Shared Sub Main(ByVal args() As String)
Dim connectionString As String = " Initial Catalog=WorkflowDataStore;Data Source=localhost;Integrated Security=SSPI;"
Dim workflowRuntime As New WorkflowRuntime()
workflowRuntime.AddService(New SharedConnectionWorkflowCommitWorkBatchService(connectionString))
workflowRuntime.StartRuntime()
' ...
workflowRuntime.StopRuntime()
End Sub 'Main
Verwenden einer Anwendungskonfigurationsdatei
Sie können auch eine Anwendungskonfigurationsdatei verwenden, um das SharedConnectionWorkflowCommitWorkBatchService-Objekt zu erstellen. In diesem Fall werden die Verbindungszeichenfolgeninformationen dem CommonParameters-Abschnitt der Datei app.config hinzugefügt. Im folgenden Beispiel wird eine Anwendungskonfigurationsdatei gezeigt, von der der SharedConnectionWorkflowCommitWorkBatchService-Dienst verwendet wird.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="WorkflowServiceContainer" type="System.Workflow.Runtime.Configuration.WorkflowRuntimeSection, System.Workflow.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</configSections>
<WorkflowServiceContainer Name="Container Name" UnloadOnIdle="true">
<CommonParameters>
<add name="ConnectionString" value="Initial Catalog=WorkFlowStore;Data Source=localhost;Integrated Security=SSPI;" />
</CommonParameters>
<Services>
<add type="System.Workflow.Runtime.Hosting.DefaultWorkflowSchedulerService, System.Workflow.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add type="System.Workflow.Runtime.Hosting.SharedConnectionWorkflowTransactionService, System.Workflow.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add type="System.Workflow.Runtime.Tracking.SqlTrackingService, System.Workflow.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add type="System.Workflow.Runtime.Hosting.SqlWorkflowPersistenceService, System.Workflow.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</Services>
</WorkflowServiceContainer>
<system.diagnostics>
</system.diagnostics>
</configuration>
Siehe auch
Referenz
DefaultWorkflowCommitWorkBatchService
SharedConnectionWorkflowCommitWorkBatchService
Konzepte
Übersicht über Dienste
Windows Workflow CommitWorkBatch-Dienste
Weitere Ressourcen
Using WorkflowCommitWorkBatch Service Sample
Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.