Receive Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Een activiteit die een bericht ontvangt.
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
- Overname
- Kenmerken
Voorbeelden
In het volgende voorbeeld ziet u hoe u een Receive activiteit maakt en deze toevoegt aan een werkstroom in code.
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
};
In het volgende voorbeeld ziet u hoe u een Receive activiteit maakt en deze toevoegt aan een werkstroomservice in XAML.
<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>
Opmerkingen
De Receive activiteit kan één item of meerdere items ontvangen, afhankelijk van het type ontvangstinhoud dat wordt gebruikt.
Waarschuwing
Wanneer een werkstroom meerdere Receive activiteiten met dezelfde bewerkingsnaam bevat, moet de CorrelatesOn eigenschap worden ingesteld op dezelfde set correlatiequery's.
Constructors
| Name | Description |
|---|---|
| Receive() |
Initialiseert een nieuw exemplaar van de Receive klasse. |
Eigenschappen
| Name | Description |
|---|---|
| Action |
Hiermee wordt de waarde van de actieheader van het bericht opgehaald of ingesteld. |
| CacheId |
Hiermee haalt u de id op van de cache die uniek is binnen het bereik van de werkstroomdefinitie. (Overgenomen van Activity) |
| CanCreateInstance |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of er een nieuw werkstroomexemplaren worden gemaakt om het bericht te verwerken als het bericht niet overeenkomt met een bestaand werkstroomexemplaren. |
| Constraints |
Hiermee haalt u een verzameling Constraint activiteiten op die kunnen worden geconfigureerd voor validatie voor de Activity. (Overgenomen van Activity) |
| Content |
Hiermee worden de gegevens opgehaald of ingesteld die moeten worden ontvangen. De inhoud kan een ReceiveMessageContent of een ReceiveParametersContent. |
| CorrelatesOn |
Hiermee haalt u de MessageQuerySet gegevens op die worden gebruikt om een query uit te voeren op het bericht om correlatiegegevens te extraheren. |
| CorrelatesWith |
Hiermee haalt u een correlatie-handle op die wordt gebruikt om het bericht naar het juiste werkstroomexemplaren te routeren. |
| CorrelationInitializers |
Hiermee haalt u een verzameling correlatie-initialisaties op die querygebaseerde, context, callbackcontext of correlaties tussen aanvragen en antwoorden initialiseren met een uitvoering van een Send activiteit. |
| DisplayName |
Hiermee haalt u een optionele beschrijvende naam op die wordt gebruikt voor foutopsporing, validatie, afhandeling van uitzonderingen en tracering. (Overgenomen van Activity) |
| Id |
Hiermee haalt u een id op die uniek is in het bereik van de werkstroomdefinitie. (Overgenomen van Activity) |
| Implementation |
Hiermee haalt u de gemachtigde op die een Activity gemachtigde retourneert die de uitvoeringslogica bevat. (Overgenomen van Activity) |
| ImplementationVersion |
Hiermee haalt u de versie van de gebruikte implementatie op of stelt u deze in. (Overgenomen van Activity) |
| KnownTypes |
Hiermee haalt u een verzameling bekende typen voor de bewerking op. |
| OperationName |
Hiermee haalt u de naam op van de bewerking die is geïmplementeerd door de Receive. |
| ProtectionLevel |
Hiermee wordt een waarde opgehaald of ingesteld die het beveiligingsniveau voor de bewerking aangeeft. |
| SerializerOption |
Hiermee wordt een waarde opgehaald of ingesteld waarmee de serialisatiefunctie wordt opgegeven die voor deze bewerking moet worden gebruikt. |
| ServiceContractName |
Hiermee haalt u de naam van het servicecontract op of stelt u deze in. |
Methoden
| Name | Description |
|---|---|
| CacheMetadata(ActivityMetadata) |
Hiermee maakt en valideert u een beschrijving van de argumenten, variabelen, onderliggende activiteiten en activiteit gedelegeerden van de activiteit. (Overgenomen van Activity) |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| FromOperationDescription(OperationDescription) |
Retourneert de ontvangstactiviteit van de opgegeven beschrijving van de contractbewerking. |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Hiermee wordt een gebeurtenis gegenereerd bij het maken van een dynamische updatetoewijzing. (Overgenomen van Activity) |
| ShouldSerializeCorrelatesOn() |
Retourneert een waarde die aangeeft of de eigenschap is gewijzigd van de CorrelatesOn standaardwaarde en moet worden geserialiseerd. |
| ShouldSerializeDisplayName() |
Geeft aan of de DisplayName eigenschap moet worden geserialiseerd. (Overgenomen van Activity) |
| ToString() |
Retourneert een String met de Id en DisplayName van de Activity. (Overgenomen van Activity) |