Muster der automatischen Bestätigung
Dieses Thema gilt für Windows Workflow Foundation 4.
Dieses Beispiel besteht aus drei Szenarien, die zur Veranschaulichung eine benutzerdefinierte AutoConfirmScope
-Aktivität ausführen. Im ersten Beispiel wird die erfolgreiche Ausführung einer Sequenz von vier kompensierbaren Aktivitäten veranschaulicht, bei denen die zweite und dritte in AutoConfirmScope
geschachtelt sind. Im zweiten Beispiel wird die gleiche Sequenz mit einer Ausnahme veranschaulicht, die nach der Ausführung der vierten CompensableActivity auftritt. Das dritte Szenario zeigt die gleiche Sequenz mit einer Ausnahme, die in AutoConfirmScope
auftritt, nachdem die zweite CompensableActivity abgeschlossen wurde.
Im Beispiel wird das Muster der automatischen Bestätigung veranschaulicht, bei dem alle untergeordneten kompensierbaren Aktivitäten nach dem erfolgreichen Abschluss des Bereichs bestätigt werden. Dieses Muster definiert die Lebensdauer aller untergeordneten kompensierbaren Aktivitäten, da sie nicht mehr kompensiert oder bestätigt werden können.
Der Bereich besteht aus TryCatch, wobei Try eine interne CompensableActivity ist. Der vom Benutzer angegebene Text von AutoConfirmScope
ist der Text der inneren CompensableActivity. Wenn diese interne CompensableActivity abgeschlossen ist, erzeugt sie CompensationToken als out-Argument. AutoConfirmScope
verwendet Finally, um zu überprüfen, ob das Token erzeugt wurde. Ist dies der Fall, wird die innere CompensableActivity bestätigt. Die innere CompensableActivity ruft die Standardkompensierung für kompensierbare Aktivitäten auf, die möglicherweise im Text vorhanden sind.
Das erste Szenario zeigt die erfolgreiche Ausführung des Workflows und veranschaulicht, dass die zweite und dritte kompensierbare Aktivität bereits bestätigt sind, wenn der Workflow abgeschlossen wird, und die erste und vierte werden bestätigt. Dies erzeugt die Bestätigungsreihenfolge drei, zwei, vier und eins.
Das zweite Szenario zeigt eine Ausnahme, nachdem die vier kompensierbaren Aktivitäten abgeschlossen wurden. Da die kompensierbaren Aktivitäten zwei und drei bereits bestätigt wurden, bleiben sie unbeeinflusst, aber eins und vier werden kompensiert. Dies erzeugt die Bestätigung von drei und zwei und die Kompensierung von vier und eins.
Das abschließende Szenario zeigt die fehlgeschlagene Ausführung von AutoConfirmScope
. In diesem Szenario tritt eine Ausnahme nach Abschluss der zweiten CompensableActivity auf. Da die dritte und vierte kompensierbare Aktivität nicht ausgeführt wurden, bleiben sie unbeeinflusst. Da der Bereich nicht erfolgreich abgeschlossen wurde, wird die zweite CompensableActivity nicht bestätigt. Dies erzeugt die Kompensierungsreihenfolge zwei dann eins.
So verwenden Sie dieses Beispiel
Öffnen Sie mit Visual Studio 2010 die Projektmappendatei "AutoConfirmSample.sln".
Drücken Sie F6, um die Projektmappe zu erstellen.
Drücken Sie STRG+F5, um die Projektmappe auszuführen.
Hinweis: |
---|
Die Beispiele sind möglicherweise bereits auf dem Computer installiert. Überprüfen Sie das folgende (standardmäßige) Verzeichnis, bevor Sie fortfahren.
<Installationslaufwerk>:\WF_WCF_Samples
Wenn dieses Verzeichnis nicht vorhanden ist, rufen Sie Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 auf, um alle Windows Communication Foundation (WCF)- und WF-Beispiele herunterzuladen. Dieses Beispiel befindet sich im folgenden Verzeichnis.
<Installationslaufwerk>:\WF_WCF_Samples\WF\Scenario\Compensation\AutoConfirm
|