Freigeben über


<sqlWorkflowInstanceStore>

Ein Dienstverhalten, das es ermöglicht, die Funktion SqlWorkflowInstanceStore zu konfigurieren, die das Beibehalten von Zustandsinformationen für Workflowdienstinstanzen in eine SQL Server 2005- oder SQL Server 2008-Datenbank unterstützt. Weitere Informationen zu diesem Feature finden Sie unter SQL-Workflowinstanzspeicher.

<configuration>
   <system.ServiceModel>
     <behaviors>
       <serviceBehaviors>
         <behavior>
           <sqlWorkflowInstanceStore>

Syntax

<behaviors>
  <serviceBehaviors>
    <behavior name="String">
      <sqlWorkflowInstanceStore connectionStringName="String"
                                hostLockRenewalPeriod="TimeSpan"
                                instanceCompletionAction="DeleteNothing/DeleteAll"
                                instanceEncodingAction="None/GZip"
                                instanceLockedExceptionAction="NoRetry/BasicRetry/AggressiveRetry"
                                runnableInstancesDetectionPeriod="TimeSpan" />
    </behavior>
  </serviceBehaviors>
</behaviors>  

Attribute und Elemente

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.

Attribute

attribute Beschreibung
connectionString Eine Zeichenfolge, die die Verbindungszeichenfolge enthält, mithilfe derer eine Verbindung mit einer zugrunde liegenden Persistenzdatenbank hergestellt wird.
connectionStringName Eine Zeichenfolge, die eine benannte Verbindungszeichenfolge zum Datenbankserver enthält. Ein Beispiel für eine benannte Verbindungszeichenfolge ist „StandardVerbindungszeichenfolge“.
hostLockRenewalPeriod Ein Timespan-Wert, der den Zeitraum angibt, innerhalb dessen der Host die Sperre einer Instanz erneuern muss. Wenn der Host die Sperre nicht im angegebenen Zeitraum erneuert, wird die Instanz entsperrt und möglicherweise von einem anderen Host aufgenommen.

Einen Workflow zu entladen impliziert, dass dieser auch beibehalten wird. Ist dieses Attribut auf 0 (null) festgelegt, wird die Workflowinstanz sofort beibehalten und entladen, nachdem der Workflow in den Leerlauf versetzt wurde. Der Entladevorgang wird deaktiviert, wenn dieses Attribut auf TimeSpan.MaxValue festgelegt wird. Workflowinstanzen im Leerlauf werden nie entladen.
instanceCompletionAction Ein Wert, der angibt, ob Workflowinstanzdaten nach Abschluss der Workflowinstanz im persistenten Speicher verbleiben oder ob sie gelöscht werden. Dieser Wert ist vom Typ InstanceCompletionAction.

Die aufgelisteten Aktionen bestehen aus dem Löschen oder Nichtlöschen der Instanzdaten aus dem Beibehaltungsspeicher beim Abschließen der Instanz.

Das Behalten von Instanzen nach Abschluss bewirkt, dass die Beibehaltungsdatenbank schnell wächst, was die Leistung der Datenbank beeinträchtigt. Sie sollten eine Datenbanksäuberungsrichtlinie zum regelmäßigen Löschen dieser Datensätze konfigurieren, um sicherzustellen, dass die Leistung der Datenbank Ihren Leistungsanforderungen entspricht.
instanceEncodingOption Ein optionaler Wert, der angibt, ob die Instanzzustandsinformationen mit dem GZip-Algorithmus komprimiert werden, bevor sie im persistenten Speicher gespeichert werden. Dieser Wert ist vom Typ InstanceEncodingOption. Mögliche Werte für diese Eigenschaft sind None (keine Komprimierung) und GZip (Komprimierung der Instanzdaten mit dem GZip-Algorithmus).
instanceLockedExceptionAction Ein Wert, der die Aktion angibt, die als Reaktion auf eine Ausnahme eintritt, die ausgelöst wird, wenn der Host versucht, eine Instanz zu sperren, während die Instanz schon von einem anderen Host gesperrt wurde. Dieser Wert ist vom Typ InstanceLockedExceptionAction.

Die für dieses Feld zugelassenen Optionen lauten: None, Basic Retry und Aggressive Retry. Der Standardwert lautet „Keine“. Die folgende Liste enthält die Beschreibungen für diese drei Optionen:

– Keine. Der Diensthost versucht nicht, die Instanz zu sperren und übergibt die InstanceLockedException an den Aufrufer.
– Einfacher Wiederholungsversuch Der Diensthost versucht erneut, die Instanz mit einem linearen Wiederholungsintervall zu sperren, und übergibt am Ende der Sequenz die Ausnahme an den Aufrufer.
– Aggressiver Wiederholungsversuch Der Diensthost versucht erneut, die Instanz mit einer exponentiell zunehmenden Verzögerung zu sperren, und übergibt am Ende der Sequenz die InstanceLockedException an den Aufrufer.
runnableInstancesDetectionPeriod

Untergeordnete Elemente

Keine

Übergeordnete Elemente

Element BESCHREIBUNG
<behavior> von <serviceBehaviors> Gibt ein Verhaltenselement an.

Siehe auch