Freigeben über


Einschränkungstypen

Dieses Thema gilt für Windows Workflow Foundation 4.

In diesem Beispiel werden zwei verschiedene Möglichkeiten zum Anwenden von Einschränkungen auf einen Workflow veranschaulicht. Eine Möglichkeit besteht darin, dies innerhalb der Aktivität auszuführen (Build), die andere Möglichkeit besteht darin, dies außerhalb der Aktivität auszuführen (Richtlinie). In diesem Szenario möchte ein Aktivitätsautor (von einem Drittanbieter-Softwareunternehmen) die Beziehung zwischen zwei Argumenten überprüfen. In diesem Fall sollten die Kosten kleiner oder gleich dem Preis sein. Dies ist eine allgemeine Validierungsbuildeinschränkung.

Dann möchte ein Geschäftsbesitzer dieser generischen Aktivität eine Validierung hinzufügen. Der Großteil der Produkte soll 9,99 Euro oder weniger kosten. Deshalb verwendet er eine Richtlinieneinschränkung, die auf der CreateProduct-Aktivität basiert.

Im Beispiel:

Der Aktivitätsautor (Build) muss Folgendes tun:

  • Eine Einschränkung erstellen (PriceGreaterThanCost). An dieser Stelle befindet sich die Validierungslogik.

  • OnGetConstraints überschreiben und die Einschränkung (PriceGreaterThanCost) den Einschränkungen IList hinzufügen.

Der Workflowautor (Richtlinie) muss Folgendes tun:

  • Einen Workflow mit einer Instanz der Aktivität erstellen, um (CreateProduct) zu überprüfen.

  • Eine Einschränkung erstellen (MaxPrice).

  • Eine Instanz von ValidatorSettings erstellen (validatorSettings) und die Einschränkung (MaxPrice) der Auflistung AdditionalConstraints hinzufügen. Hier kann der Workflowautor jeder Aktivität, z. B. einer Sequenz oder Parallele, Richtlinieneinschränkungen hinzufügen.

  • Validate aufrufen, wodurch eine ValidationResults-Auflistung von ConstraintViolation-Objekten zurückgegeben wird.

  • (Optional) Die ConstraintViolation-Objekte drucken.

So richten Sie das Beispiel ein, erstellen es und führen es aus

  1. Öffnen Sie die Beispielprojektmappe ConstraintTypes.sln in Visual Studio 2010.

  2. Erstellen Sie die Projektmappe, und führen Sie sie aus.

Dd759025.Important(de-de,VS.100).gif Hinweis:
Die Beispiele sind möglicherweise bereits auf dem Computer installiert. Überprüfen Sie das folgende (standardmäßige) Verzeichnis, bevor Sie fortfahren.

<InstallDrive>:\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.

<InstallDrive>:\WF_WCF_Samples\WF\Scenario\Validation\ConstraintLibrary