Receive Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Eine Aktivität, die eine Meldung empfängt.
public ref class Receive sealed : System::Activities::Activity
[System.Windows.Markup.ContentProperty("Content")]
public sealed class Receive : System.Activities.Activity
[<System.Windows.Markup.ContentProperty("Content")>]
type Receive = class
inherit Activity
Public NotInheritable Class Receive
Inherits Activity
- Vererbung
- Attribute
Beispiele
Im folgenden Beispiel wird gezeigt, wie eine Receive-Aktivität erstellt und einem Workflow in Code hinzugefügt wird.
Variable<string> message = new Variable<string> { Name = "message" };
Variable<string> echo = new Variable<string> { Name = "echo" };
Receive receiveString = new Receive
{
OperationName = "Echo",
ServiceContractName = "Echo",
CanCreateInstance = true,
//parameters for receive
Content = new ReceiveParametersContent
{
Parameters =
{
{"message", new OutArgument<string>(message)}
}
}
};
Sequence workflow = new Sequence()
{
Variables = { message, echo },
Activities =
{
receiveString,
new WriteLine
{
Text = new InArgument<string>(env =>("Message received: " + message.Get(env)))
},
new Assign<string>
{
Value = new InArgument<string>(env =>("<echo> " + message.Get(env))),
To = new OutArgument<string>(echo)
},
//parameters for reply
new SendReply
{
Request = receiveString,
Content = new SendParametersContent
{
Parameters =
{
{ "echo", new InArgument<string>(echo) }
},
}
},
new WriteLine
{
Text = new InArgument<string>(env =>("Message sent: " + echo.Get(env)))
},
},
};
service = new WorkflowService
{
Name = "Echo",
Body = workflow
};
Im folgenden Beispiel wird gezeigt, wie eine Receive-Aktivität erstellt und einem Workflowdienst in XAML hinzugefügt wird.
<WorkflowService mc:Ignorable="sap" ConfigurationName="Service1" Name="Service1" mva:VisualBasic.Settings="Assembly references and imported namespaces serialized as XML namespaces" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/servicemodel" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mv="clr-namespace:Microsoft.VisualBasic;assembly=System" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities" xmlns:p="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:s1="clr-namespace:System;assembly=System" xmlns:s2="clr-namespace:System;assembly=System.Xml" xmlns:s3="clr-namespace:System;assembly=System.Core" xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:sap="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=System" xmlns:scg1="clr-namespace:System.Collections.Generic;assembly=System.ServiceModel" xmlns:scg2="clr-namespace:System.Collections.Generic;assembly=System.Core" xmlns:scg3="clr-namespace:System.Collections.Generic;assembly=mscorlib" xmlns:sd="clr-namespace:System.Data;assembly=System.Data" xmlns:sl="clr-namespace:System.Linq;assembly=System.Core" xmlns:ssa="clr-namespace:System.ServiceModel.Activities;assembly=System.ServiceModel.Activities" xmlns:st="clr-namespace:System.Text;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<p:Sequence sad:XamlDebuggerXmlReader.FileName="c:\Projects\WFServiceSnippets\WFServiceSnippets\Service1.xamlx" sap:VirtualizedContainerService.HintSize="277,644" mva:VisualBasic.Settings="Assembly references and imported namespaces serialized as XML namespaces">
<p:Sequence.Variables>
<p:Variable x:TypeArguments="CorrelationHandle" Name="__handle1" />
<p:Variable x:TypeArguments="x:String" Name="Message" />
<p:Variable x:TypeArguments="x:String" Name="Echo" />
</p:Sequence.Variables>
<sap:WorkflowViewStateService.ViewState>
<scg3:Dictionary x:TypeArguments="x:String, x:Object">
<x:Boolean x:Key="IsExpanded">True</x:Boolean>
</scg3:Dictionary>
</sap:WorkflowViewStateService.ViewState>
<Receive x:Name="__ReferenceID0" CanCreateInstance="True" DisplayName="ReceiveString" sap:VirtualizedContainerService.HintSize="255,90" OperationName="Echo" ServiceContractName="Echo">
<Receive.CorrelationInitializers>
<RequestReplyCorrelationInitializer CorrelationHandle="[__handle1]" />
</Receive.CorrelationInitializers>
<ReceiveParametersContent>
<p:OutArgument x:TypeArguments="x:String" x:Key="message">[Message]</p:OutArgument>
</ReceiveParametersContent>
</Receive>
<p:WriteLine sap:VirtualizedContainerService.HintSize="255,61" Text="["Message received: " + Message]" />
<p:Assign sap:VirtualizedContainerService.HintSize="255,58">
<p:Assign.To>
<p:OutArgument x:TypeArguments="x:String">[Echo]</p:OutArgument>
</p:Assign.To>
<p:Assign.Value>
<p:InArgument x:TypeArguments="x:String">["<echo> " + Message]</p:InArgument>
</p:Assign.Value>
</p:Assign>
<SendReply Request="{x:Reference __ReferenceID0}" DisplayName="SendReply" sap:VirtualizedContainerService.HintSize="255,90">
<SendParametersContent>
<p:InArgument x:TypeArguments="x:String" x:Key="echo">[Echo]</p:InArgument>
</SendParametersContent>
</SendReply>
<p:WriteLine sap:VirtualizedContainerService.HintSize="255,61" Text="["Message sent: " + Echo]" />
</p:Sequence>
</WorkflowService>
Hinweise
Die Receive-Aktivität kann abhängig vom Typ des verwendeten Empfangsinhalts ein einzelnes Element oder mehrere Elemente empfangen.
Warnung
Wenn ein Workflow mehrere Receive-Aktivitäten mit demselben Vorgangsnamen enthält, muss die CorrelatesOn-Eigenschaft auf denselben Satz von Korrelationsabfragen festgelegt werden.
Konstruktoren
Receive() |
Initialisiert eine neue Instanz der Receive-Klasse. |
Eigenschaften
Action |
Ruft den Wert des Aktionsheaders der Meldung ab oder legt ihn fest. |
CacheId |
Ruft den Bezeichner des Caches ab, der innerhalb des Bereichs der Workflowdefinition eindeutig ist. (Geerbt von Activity) |
CanCreateInstance |
Ruft einen Wert ab, der angibt, ob eine neue Workflowinstanz zur Verarbeitung der Meldung erstellt wird, wenn die Meldung einer vorhandenen Workflowinstanz nicht entspricht, oder legt ihn fest. |
Constraints |
Ruft eine Auflistung von Constraint-Aktivitäten ab, die so konfiguriert werden kann, dass sie die Validierung für Activity bereitstellt. (Geerbt von Activity) |
Content |
Ruft die zu empfangenen Daten ab oder legt diese fest. Der Inhalt kann entweder ein ReceiveMessageContent oder ein ReceiveParametersContent sein. |
CorrelatesOn |
Ruft den MessageQuerySet ab, der für die Abfrage der Meldung zur Extraktion der Korrelationsdaten verwendet wird, oder legt diesen fest. |
CorrelatesWith |
Ruft ein Korrelationshandle ab, mit dem die Meldung an die entsprechende Workflowinstanz weitergeleitet wird, oder legt es fest. |
CorrelationInitializers |
Ruft eine Auflistung von Korrelationsinitialisierern ab, die abfragebasierte Korrelationen, Kontextkorrelationen, Rückrufkontextkorrelationen oder Anforderung/Antwort-Korrelationen mit ausgeführter Send-Aktivität initialisieren. |
DisplayName |
Ruft einen optionalen Anzeigenamen ab, der für Debugging, Validierung, Ausnahmebehandlung und Nachverfolgung verwendet wird, oder legt ihn fest. (Geerbt von Activity) |
Id |
Ruft einen Bezeichner ab, der innerhalb des Bereichs der Workflowdefinition eindeutig ist. (Geerbt von Activity) |
Implementation |
Ruft den Delegaten ab, der eine Activity mit der Ausführungslogik zurückgibt, oder legt diesen fest. (Geerbt von Activity) |
ImplementationVersion |
Übernimmt oder bestimmt die Version für die benutzte Implementierung. (Geerbt von Activity) |
KnownTypes |
Ruft eine Auflistung bekannter Typen für den Vorgang ab. |
OperationName |
Ruft den Namen des von Receive implementierten Vorgangs ab oder legt diesen fest. |
ProtectionLevel |
Ruft einen Wert ab, der die Schutzebene für den Vorgang angibt, oder legt diesen fest. |
SerializerOption |
Ruft einen Wert ab, der das Serialisierungsprogramm angibt, das für diesen Vorgang verwendet werden soll, oder legt ihn fest. |
ServiceContractName |
Ruft den Namen des Dienstvertrags ab oder legt diesen fest. |
Methoden
CacheMetadata(ActivityMetadata) |
Erstellt und überprüft eine Beschreibung der Argumente, Variablen, untergeordneten Aktivitäten und Aktivitätsdelegaten der Aktivität. (Geerbt von Activity) |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
FromOperationDescription(OperationDescription) |
Gibt die Empfangsaktivität aus der angegebenen Vertragsvorgangsbeschreibung zurück. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Löst ein Ereignis aus, wenn die dynamische Updatezuordnung erstellt wird. (Geerbt von Activity) |
ShouldSerializeCorrelatesOn() |
Gibt einen Wert zurück, der angibt, ob die CorrelatesOn-Eigenschaft ihren Standardwert geändert hat und serialisiert werden soll. |
ShouldSerializeDisplayName() |
Gibt an, ob die DisplayName- Eigenschaft serialisiert werden soll. (Geerbt von Activity) |
ToString() |
Gibt eine String zurück, die Id und DisplayName von Activity enthält. (Geerbt von Activity) |