Einer benutzerdefinierten Workflowaktivität Metadaten hinzufügen

 

Veröffentlicht: Januar 2017

Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Die Assembly, die die benutzerdefinierten Workflowaktivitätsdefinition enthält, wird unter Verwendung der .NET-Attribute kommentiert, um die Metadatenänderung bereitzustellen, die Microsoft Dynamics 365 zur Laufzeit verwendet, um Ihren Code mit dem Workflowmodul zu verknüpfen. Weitere Informationen zu .NET-Attributes finden Sie unter Erweitern von Metadaten mithilfe von Attributen.

Bevor Sie mit dem Hinzufügen von Metadaten zu Ihrer benutzerdefinierten Workflowaktivitätsdefinition beginnen, sollten Sie sicherstellen, dass Ihnen die Microsoft Dynamics 365-Typen und -Attribute bekannt sind, die für die benutzerdefinierten Workflowaktivitäten unterstützt werden.Weitere Informationen: siehe Prozessklassen, Attribute und Typen

In diesem Thema

Eingabeparameter hinzufügen

Ausgabeparameter hinzufügen

Hinzufügen von Eingabe- und Ausgabe-Attributen für denselben Parameter

Zusätzliche Attribute

Hinzufügen der Ausführeungsmethode

Eingabeparameter hinzufügen

Beim Angeben des Eingabeparameters in der Workflowklasse können Sie auch einen Standardwert für den Parameter angeben. Im folgenden Beispiel wird die Definition eines Eingabeparameters gezeigt.

[Input("DateTime input")]
[Default("2004-07-09T02:54:00Z")]
public InArgument<DateTime> Date { get; set; }

Dieser Eingabeparameter wird mit dem .NET-Attribut Input kommentiert. Die InputAttribute-Klasse wird von der ParameterAttribute-Klasse abgeleitet, die einen Parameter nimmt (ParameterAttribute.Name), um den Namen des Eingabeattributs anzugeben. Dieser Name wird im Prozessformularassistenten in der Webanwendung angezeigt. Hiermit können Sie ein Attribut als Eingabeparameter dem Prozess zuordnen.

Darüber hinaus können Sie den Eingabeparameter erforderlich machen.Weitere Informationen:RequiredArgumentAttribute

Ausgabeparameter hinzufügen

Ausgabeparameter werden auf die gleiche Weise wie die Eingabeparameter hinzugefügt. Im folgenden Beispiel wird die Definition eines Ausgabeparameters gezeigt.

[Output("Money output only")]
[Default("23.3")]
public OutArgument<Money> MoneyOutput { get; set; }

Dieser Ausgabeparameter wird mit dem .NET-Attribut Output kommentiert. Die OutputAttribute-Klasse wird von der ParameterAttribute-Klasse abgeleitet, die einen Parameter nimmt (ParameterAttribute.Name), um den Namen des Ausgabeattributs anzugeben. Dieser Name wird im Prozessformularassistenten in der Webanwendung angezeigt. Hiermit können Sie ein Attribut als Ausgabe zugeordnen.

Hinzufügen von Eingabe- und Ausgabe-Attributen für denselben Parameter

Sie können die Eingabe- und Ausgabe-Attribute für denselben Parameter verwenden. Im folgenden Codebeispiel ist IntParameter der Ein- und Ausgabeparameter.

[Input("Int input")]
[Output("Int output")]
[Default("2322")]
public InOutArgument<int> IntParameter { get; set; }

Zusätzliche Attribute

Einige Typen, wie EntityReference und OptionSetValue erfordern zusätzliche Attribute, abgesehen von den Attributen Input, Output und Default. Die zusätzlichen Attribute sind: ReferenceTarget und AttributeTarget. Im folgenden Beispiel wird die Definition eines Ausgabeparameters vom Typ EntityReference gezeigt.

[Input("EntityReference input")]
[Output("EntityReference output")]
[ReferenceTarget("account")]
[Default("3B036E3E-94F9-DE11-B508-00155DBA2902", "account")]
public InOutArgument<EntityReference> AccountReference { get; set; }

Eine Liste der unterstützten Typen und Attribute finden Sie unter Prozessklassen, Attribute und Typen.

Hinzufügen der Ausführeungsmethode

Ihre benutzerdefinierte Workflowaktivität muss eine Execute-Methode haben, wie im folgenden Beispiel gezeigt.

protected override void Execute(CodeActivityContext context)
{
   if (AccountReference.Get(context).Id != new Guid("3B036E3E-94F9-DE11-B508-00155DBA2902"))   
      throw new InvalidPluginExecutionException("Unexpected default value");
}

Siehe auch

Benutzerdefinierte Workflowaktivitäten (Workflowassemblys)
Benutzerdefinierte Workflowaktivitäten (Workflowassemblys)
Erstellen einer benutzerdefinierten Workflowaktivität
Verwenden des IOrganization-Webdiensts in einer benutzerdefinierten Workflowaktivität
Beispiel: Eine benutzerdefinierte Workflowaktivität erstellen
Prozessklassen, Attribute und Typen

Microsoft Dynamics 365

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright