Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Ab der WMS Version

Status
colourYellow
title

WMS

2020 (1.0.3)

stehen

 stehen Ihnen

Basisklassen des WMS zur Verfügung:

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:

Erweitern
titleOhne WMS Klassen entwickeln

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

  • CodeActivity

  • NativeActivity

  • AsyncCodeActivity

Info

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

code
languagec#title
Beispiel für eine CodeActivity (C#)
linenumbers
Codeblock
true
languagecollapsec#true
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
        }
    }
}
Codeblock
languagevb
title


Beispiel für eine CodeActivity (VB)
linenumbers
Codeblock
true
languagecollapsetruevb
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:

languagec#title
  • 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

Codeblock
Beispiel für eine AsyncCodeActivity
linenumbers
Codeblock
true
languagecollapsec#true
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:

language
  • InArgumente: Eingehende Argumente

  • OutArgumente : Ausgehende Argumente

  • CacheMetadata(NativeActivityMetadata): Validierung zur Design Zeit

  • Execute(NativeActivityContext): Implementierung der Aktivität

Codeblock
c#title
Beispiel für eine NativeActivity
linenumbers
Codeblock
true
languagecollapsetruec#
using System.Activities;

namespace NativeActivity
{
    public class HelloworldActivity : System.Activities.NativeActivity
    {
        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(NativeActivityMetadata 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(NativeActivityContext a_oContext)
        {
            // TODO
        }
    }
}