Zum Ende der Metadaten springen
Zum Anfang der Metadaten
Ab WMS 2020 (1.0.3) stehen Ihnen Basisklassen des WMS zur Verfügung:
Auch ohne die WMS-Klassen können Sie ein Aktivität entwickeln. Verwenden Sie dazu eine der folgenden Basisklassen von Microsoft:
- CodeActivity
- NativeActivity
- AsyncCodeActivity
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
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
}
}
}
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
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
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
}
}
}