Aktivitäten

Ab der WMS Version 2020 (1.0.3) stehen Ihnen für Ihre Aktivitäten Basisklassen von [accantum] zur Verfügung.

Die Basisklassen erweitert die Microsoft-Aktivitätsklassen um folgende Funktionalität:

  • Deaktivieren von Aktivitäten über das Disabled-Property 
    Um zu Verhindern, dass deaktivierte Aktivitäten validiert werden, rufen Sie am Ende der CacheMetadata base.CacheMetadata auf.

  • Prüfen, ob es eine neuere Version der Aktivität gibt (SupersedesAttribute)

Basisklassen:

Auch ohne die WMS-Klassen können Sie ein Aktivität entwickeln. Verwenden Sie dazu eine der folgenden Basisklassen von Microsoft:

  • CodeActivity

  • NativeActivity

  • AsyncCodeActivity

Wir empfehlen Ihnen, eine WMS-Basisklasse zu nutzen, um auf aktuelle und zukünftige Funktionalität des WMS zuzugreifen und dem Anwender eine einheitliche Gestaltung der Aktivitäten zu nutzen. Weitere Details finden Sieh hier: Basisklassen für Aktivitäten


Beispiel "Skeleton" für eine CodeActivity:

Wichtigste Eigenschaften:

  • InArgumente: Eingehende Argumente


  • OutArgumente : Ausgehende Argumente


  • CacheMetadata(CodeActivityMetadata): Validierung zur Design Zeit


  • Execute(CodeActivityContext): Implementierung der Aktivität

Beispiel für eine CodeActivity (C#)
using System.Activities; namespace CodeActivities { public class HelloworldActivity : System.Activities.CodeActivity { public HelloworldActivity() { DisplayName = "Hello-World Aktivität"; } // InArgumente public InArgument<string> Text { get; set; } // OutArgumente public OutArgument<string> Result { get; set; } // Optional: Validierung zur Design Time protected override void CacheMetadata(CodeActivityMetadata a_oMetadata) { if (Text?.Expression == null) a_oMetadata.AddValidationError("Geben Sie etwas ein"); } // Methode die aufgerufen wird, wenn die Aktivität ausgeführt wird. protected override void Execute(CodeActivityContext a_oContext) { // TODO } } }



Beispiel für eine CodeActivity (VB)
Imports System.Activites Namespace CodeActivities Public Class HelloworldActivity Inherits CodeActivity Public Sub New() DisplayName = "Hello-World Aktivität" End Sub ' InArgumente Public Property Text As InArgument(Of String) ' OutArgumente Public Property Result As OutArgument(Of String) ' Optional: Validierung zur Design Time Protected Overrides Sub CacheMetadata(a_oMetadata As CodeActivityMetadata) MyBase.CacheMetadata(a_oMetaData) End Sub ' Methode die aufgerufen wird, wenn die Aktivität ausgeführt wird. Protected Overrides Sub Execute(a_oContext As CodeActivityContext) 'TODO End Sub End Class End Namespace




Beispiel "Skeleton" für eine AsyncCodeActivity:

Wichtigste Eigenschaften:

  • InArgumente: Eingehende Argumente


  • OutArgumente : Ausgehende Argumente


  • CacheMetadata(CodeActivityMetadata): Validierung zur Design Zeit


  • BeginExecute(AsyncCodeActivityContext, IAsyncResult): Start des asyncronen Aufrufs


  • EndExecute(AsyncCodeActivityContext, IAsyncResult): Ende des asyncronen Aufrufs

Beispiel für eine AsyncCodeActivity
using System; using System.Activities; namespace AsyncCodeActivity { public class HelloworldActivity : System.Activities.AsyncCodeActivity { public HelloworldActivity() { DisplayName = "Hello-World Aktivität"; } // InArgumente public InArgument<string> Text { get; set; } // OutArgumente public OutArgument<string> Result { get; set; } // Optional: Validierung zur Design Time protected override void CacheMetadata(CodeActivityMetadata a_oMetadata) { if (Text?.Expression == null) a_oMetadata.AddValidationError("Geben Sie etwas ein"); } protected override IAsyncResult BeginExecute(AsyncCodeActivityContext context, AsyncCallback callback, object state) { // TODO // Start des asyncronen Aufrufs } protected override void EndExecute(AsyncCodeActivityContext context, IAsyncResult result) { // TODO // callback des asyncronen Aufrufs } } }






Beispiel "Skeleton" für eine NativeActivity:

Wichtigste Eigenschaften:

  • InArgumente: Eingehende Argumente


  • OutArgumente : Ausgehende Argumente


  • CacheMetadata(NativeActivityMetadata): Validierung zur Design Zeit


  • Execute(NativeActivityContext): Implementierung der Aktivität

Beispiel für eine NativeActivity