Freigeben über


Debuggen von Orchestrierungen mithilfe von benutzerdefiniertem Code

Wenn Ihre Orchestrierung in einer Testumgebung ausgeführt wird oder Sie einen Prototyp erstellen und die Werte von Nachrichtenfeldern und Orchestrierungsvariablen ändern möchten, können Sie die Ausgabe mithilfe des folgenden Codes in einem Expression-Shape in die Visual Studio-Konsole schreiben:

System.Diagnostics.Debug.WriteLine(iResult);  

Sie müssen dieses Expression-Shape unmittelbar nach dem Shape platzieren, das den Vorgang ausführt, damit das Ergebnis für Debuggingzwecke ausgegeben werden kann.

Alternativ können Sie einen einfachen benutzerdefinierten Debugger schreiben, indem Sie eine Debug-DLL mit einer Klasse erstellen, die eine Methode enthält, die eine Nachricht als Eingabe nimmt, deren Format in Ihrer Orchestrierung definiert und in der Debug-DLL referenziert wird. Weitere Informationen zum Übergeben einer Nachricht als Parameter finden Sie unter How to Use Expressions to Create Objects and Call Object Methods.

Mit dieser Methode kann ein Debugdialogfeld angezeigt werden, das ein Kombinationsfeld oder ein anderes Steuerelement enthält, um Benutzeränderungen von Werten zu ermöglichen, die bearbeitete Nachricht wieder zusammenzufassen und als Rückgabewert zurückzugeben.

Richten Sie eine boolesche Variable ein, um anzugeben, ob sich die Orchestrierung im Debugmodus befindet, und dann überall dort, wo Sie einen Punkt in der Orchestrierung haben, an dem Sie Werte ändern möchten, können Sie ein "Entscheiden "-Shape mit einer Live-Verzweigung hinzufügen, die nur ausgeführt wird, wenn die Variable für den Debugmodus auf "True" festgelegt ist. oder wenn eine bestimmte Bedingung auftritt, die Sie untersuchen möchten. Sie rufen die Methode aus einem Ausdrucks-Shape in der Live-Verzweigung des Decide auf. Wenn Sie das Debugging nicht mehr benötigen, setzen Sie die Debug-Modus-Variable auf 'False' oder entfernen Sie die Decide-Shape(s) vollständig und kompilieren Sie neu.

So debuggen Sie eine .NET-Komponente, die von einer Orchestration aufgerufen wird

Die folgenden Schritte veranschaulichen das Debuggen einer .NET-Komponente, die von einer Orchestration aufgerufen wird:

  1. Öffnen Sie das Visual Studio-Projekt für Ihre Komponente.

  2. Legen Sie einen Haltepunkt in Ihrer Komponente für die Methode fest, die von der Orchestrierung aufgerufen wird.

  3. Klicken Sie auf das Menü " Debuggen ", und wählen Sie "An Prozess anhängen" aus, um das Dialogfeld "An Prozess anfügen " anzuzeigen.

  4. Klicken Sie auf die Schaltfläche 'Auswählen...' neben dem Textfeld 'Anfügen', um das Dialogfeld "Codetyp auswählen " anzuzeigen.

  5. Klicken Sie, um die Option zum Debuggen dieser Codetypen auszuwählen: Wählen Sie "Verwaltet" aus, und klicken Sie dann auf die Schaltfläche "OK ".

  6. Klicken Sie, um den BTSNTSvc.exe Prozess aus den verfügbaren Prozessen auszuwählen, und klicken Sie dann auf die Schaltfläche "Anfügen ".

  7. Senden Sie eine Nachricht über einen Empfangsport an Ihre Orchestrierung.

  8. Die .NET-Komponente sollte im Haltepunkt anhalten.

  9. Sie können das Debuggen wie gewohnt mit Visual Studio ausführen.

    Hinweis

    Für optimale Ergebnisse sollte die .NET-Komponente im globalen Assemblycache (GAC) registriert werden.

Siehe auch

Orchestrierungsdebugger-Benutzeroberfläche
Debuggen von Orchestrierungen