Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das DocumentApprovalProcess-Beispiel veranschaulicht die Gemeinsame Verwendung vieler Windows Workflow Foundation (WF) und Windows Communication Foundation (WCF)-Features. Gemeinsam implementieren sie ein Dokumentgenehmigungsprozessszenario. Eine Clientanwendung kann Dokumente zur Genehmigung übermitteln und Dokumente genehmigen. Es ist eine Genehmigungs-Manager-Anwendung vorhanden, um die Kommunikation zwischen Clients zu erleichtern und die Regeln des Genehmigungsprozesses durchzusetzen. Der Genehmigungsprozess ist ein Workflow, der mehrere Genehmigungstypen ausführen kann. Aktivitäten sind vorhanden, um eine einzelne Genehmigung, eine Quorumgenehmigung (einen Prozentsatz der Genehmigenden) und einen komplexen Genehmigungsprozess zu erhalten, der aus einem Quorum und einer einzelnen Genehmigung in einer Sequenz besteht.
Beispieldetails
Die folgende Grafik zeigt den Workflow für den Dokumentgenehmigungsprozess:
Aus Sicht des Kunden funktioniert der Genehmigungsprozess wie folgt:
Ein Kunde registriert sich als Benutzer im System für Genehmigungsprozesse.
Ein WCF-Client sendet an einen WCF-Dienst, der von der Genehmigungs-Manager-Anwendung gehostet wird.
Eine eindeutige Benutzer-ID wird an den Client zurückgegeben. Der Client kann jetzt an Genehmigungsprozessen teilnehmen.
Sobald der Client teilnimmt, kann er ein Dokument zur Genehmigung durch den Einzelgenehmigungs-, Quorumgenehmigungs- oder komplexen Genehmigungsprozess senden.
Auf eine Schaltfläche in der Benutzeroberfläche des Clients wird geklickt, wobei eine Workflowinstanz in einem Client-Workflowdiensthost gestartet wird.
Der Workflow sendet eine Genehmigungsanforderung an die Genehmigungs-Manager-Anwendung.
Der Workflow-Manager startet einen Workflow auf seiner eigenen Seite, um einen Genehmigungsprozess darzustellen.
Sobald der Workflow zur Genehmigung des Managers ausgeführt wird, werden die Ergebnisse an den Client zurückgesendet.
Der Client zeigt die Ergebnisse an.
Ein Client kann eine Genehmigungsanforderung erhalten und jederzeit auf die Anforderung antworten.
Ein auf dem Client gehosteter WCF-Dienst kann eine Genehmigungsanforderung von der Genehmigungs-Manager-Anwendung erhalten.
Die Dokumentinformationen werden auf dem Client zur Überprüfung angezeigt.
Der Benutzer kann das Dokument genehmigen oder ablehnen.
Ein WCF-Client wird verwendet, um eine Genehmigungsantwort an die Genehmigungs-Manager-Anwendung zurückzusenden.
Aus Sicht der Genehmigungsverwaltungsanwendung funktioniert der Genehmigungsprozess wie folgt:
Ein Client fordert an, am Genehmigungsprozesssystem teilzunehmen.
Ein WCF-Dienst im Genehmigungs-Manager empfängt eine Anforderung, Teil des Genehmigungsprozesssystems zu sein.
Für den Client wird eine eindeutige ID generiert. Die Benutzerinformationen werden in einer Datenbank gespeichert.
Die eindeutige ID wird an den Benutzer zurückgesendet.
Eine Genehmigungsanforderung wird empfangen. Der Genehmigungs-Manager führt einen Genehmigungsprozess aus.
Eine Genehmigungsanforderung wird vom Genehmigungs-Manager empfangen und startet einen neuen Workflow.
Je nach Anforderungsart (einfach, quorum oder komplex) wird eine andere Aktivität ausgeführt.
Sende- und Empfangsaktivitäten mit Korrelation werden verwendet, um die Genehmigungsanforderung zur Überprüfung an den Client zu senden und die Antwort zu empfangen.
Das Ergebnis des Genehmigungsprozessworkflows wird an den Client gesendet.
Verwenden des Beispiels
So richten Sie die Datenbank ein
- Öffnen Sie eine Visual Studio-Eingabeaufforderung mit Administratorrechten, wechseln Sie in den Ordner "DocumentApprovalProcess" und führen Sie Setup.cmd aus.
So richten Sie die Anwendung ein
Öffnen Sie mit Visual Studio die DocumentApprovalProcess.sln Projektmappendatei.
Drücken Sie STRG+UMSCHALT+B, um die Solution zu erstellen.
Um die Lösung auszuführen, starten Sie die Approval Manager-Anwendung, indem Sie mit der rechten Maustaste auf das ApprovalManager-Projekt im Projektmappen-Explorer klicken und im Kontextmenü Debuggen - > eine neue Instanz auswählen.
Warten Sie auf die Bestätigung des Managers, dass dieser bereit ist.
So führen Sie das Einzelgenehmigungsszenario aus
Öffnen Sie eine Eingabeaufforderung mit Administratorberechtigungen.
Navigieren Sie zu dem Verzeichnis, das die Lösung enthält.
Navigieren Sie zu ApprovalClient\Bin\Debug folder and execute two instances of ApprovalClient.exe.
Klicken Sie auf "Entdecken", warten Sie, bis die Schaltfläche " Abonnieren " aktiviert ist.
Geben Sie einen beliebigen Benutzernamen ein, und klicken Sie auf "Abonnieren". Verwenden Sie für einen Client
UserType1und für den anderen den TypUserType2.Wählen Sie im
UserType1Client den einzelnen Genehmigungstyp aus dem Dropdownmenü aus, und geben Sie einen Dokumentnamen und Inhalt ein. Klicken Sie auf " Genehmigung anfordern".UserType2Im Client wird ein Dokument angezeigt, das auf die Genehmigung wartet. Wählen Sie es aus, und drücken Sie "Genehmigen " oder "Ablehnen". Die Ergebnisse sollten imUserType1Client angezeigt werden.
So führen Sie das Quorumgenehmigungsszenario aus
Öffnen Sie eine Eingabeaufforderung mit Administratorberechtigungen.
Navigieren Sie zu dem Verzeichnis, das die Lösung enthält.
Navigieren Sie zu ApprovalClient\Bin\Debug folder and execute three instances of ApprovalClient.exe.
Klicken Sie auf "Entdecken", warten Sie, bis die Schaltfläche " Abonnieren " aktiviert ist.
Geben Sie einen beliebigen Benutzernamen ein, und klicken Sie auf "Abonnieren". Verwenden Sie für einen Client
UserType1und für die anderen den TypUserType2.Wählen Sie im
UserType1Client den Quorumgenehmigungstyp aus dem Dropdownmenü aus, und geben Sie einen Dokumentnamen und Inhalt ein. Klicken Sie auf " Genehmigung anfordern". Dies fordert, dass die beidenUserType2Clients das Dokument genehmigen oder ablehnen. BeideUserType2Clients müssen zwar antworten, aber nur ein Client muss das Dokument genehmigen, damit es genehmigt wird.In den
UserType2Clients wird ein Dokument angezeigt, das auf die Genehmigung wartet. Wählen Sie es aus, und drücken Sie "Genehmigen " oder "Ablehnen". Die Ergebnisse sollten imUserType1Client angezeigt werden.
So führen Sie das komplexe Genehmigungsszenario aus
Öffnen Sie eine Eingabeaufforderung mit Administratorberechtigungen.
Navigieren Sie zu dem Verzeichnis, das die Lösung enthält.
Navigieren Sie zu ApprovalClient\Bin\Debug folder and execute four instances of ApprovalClient.exe.
Klicken Sie auf "Entdecken", warten Sie, bis die Schaltfläche " Abonnieren " aktiviert ist.
Geben Sie einen beliebigen Benutzernamen ein, und klicken Sie auf "Abonnieren". Verwenden Sie für einen Client
UserType1, für zwei ClientsUserType2und für den vierten ClientUserType3.Wählen Sie im
UserType1Client den einzelnen Genehmigungstyp aus dem Dropdownmenü aus, und geben Sie einen Dokumentnamen und Inhalt ein. Klicken Sie auf " Genehmigung anfordern".In den
UserType2Clients wird ein Dokument angezeigt, das auf die Genehmigung wartet. Wählen Sie es aus, und drücken Sie die Genehmigung, das Dokument wird an denUserType3Client übergeben.Wenn das Dokument vom ersten
UserType2Quorum genehmigt wird, wird das Dokument an denUserType3Client übergeben.Genehmigen oder Ablehnen des Dokuments vom
UserType3Client. Die Ergebnisse sollten imUserType1Client angezeigt werden.
So führen Sie eine Bereinigung durch
- Wechseln Sie in der Visual Studio-Eingabeaufforderung zum Ordner "DocumentApprovalProcess" und führen Sie Cleanup.cmd aus.