Receive Klass

Definition

En aktivitet som tar emot ett meddelande.

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
Arv
Receive
Attribut

Exempel

I följande exempel visas hur du skapar en Receive aktivitet och lägger till den i ett arbetsflöde i kod.

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
};

I följande exempel visas hur du skapar en Receive aktivitet och lägger till den i en arbetsflödestjänst i 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="[&quot;Message received: &quot; + 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="[&quot;Message sent: &quot; + Echo]" />
  </p:Sequence>
</WorkflowService>

Kommentarer

Aktiviteten Receive kan ta emot ett enskilt objekt eller flera objekt beroende på vilken typ av mottagningsinnehåll som används.

Varning

När ett arbetsflöde innehåller flera Receive aktiviteter med samma åtgärdsnamn CorrelatesOn måste egenskapen anges till samma uppsättning korrelationsfrågor.

Konstruktorer

Name Description
Receive()

Initierar en ny instans av Receive klassen.

Egenskaper

Name Description
Action

Hämtar eller anger värdet för åtgärdsrubriken för meddelandet.

CacheId

Hämtar identifieraren för cachen som är unik inom arbetsflödesdefinitionens omfång.

(Ärvd från Activity)
CanCreateInstance

Hämtar eller anger ett värde som anger om en ny arbetsflödesinstans skapas för att bearbeta meddelandet om meddelandet inte korrelerar med en befintlig arbetsflödesinstans.

Constraints

Hämtar en samling Constraint aktiviteter som kan konfigureras för att tillhandahålla validering för Activity.

(Ärvd från Activity)
Content

Hämtar eller ställer in data som ska tas emot. Innehållet kan vara antingen en ReceiveMessageContent eller en ReceiveParametersContent.

CorrelatesOn

Hämtar eller anger den MessageQuerySet som används för att köra frågor mot meddelandet för att extrahera korrelationsdata.

CorrelatesWith

Hämtar eller anger ett korrelationshandtag som används för att dirigera meddelandet till rätt arbetsflödesinstans.

CorrelationInitializers

Hämtar en samling korrelationsinitiatorer som initierar frågebaserade korrelationer, kontext, motringningskontext eller korrelationer för begärandesvar med en Send aktivitetskörning.

DisplayName

Hämtar eller anger ett valfritt eget namn som används för felsökning, validering, undantagshantering och spårning.

(Ärvd från Activity)
Id

Hämtar en identifierare som är unik i arbetsflödesdefinitionens omfång.

(Ärvd från Activity)
Implementation

Hämtar eller anger ombudet som returnerar en Activity som innehåller körningslogik.

(Ärvd från Activity)
ImplementationVersion

Hämtar eller anger den version av implementeringen som används.

(Ärvd från Activity)
KnownTypes

Hämtar en samling kända typer för åtgärden.

OperationName

Hämtar eller anger namnet på åtgärden som implementeras av Receive.

ProtectionLevel

Hämtar eller anger ett värde som anger skyddsnivån för åtgärden.

SerializerOption

Hämtar eller anger ett värde som anger serialiseraren som ska användas för den här åtgärden.

ServiceContractName

Hämtar eller anger namnet på tjänstkontraktet.

Metoder

Name Description
CacheMetadata(ActivityMetadata)

Skapar och validerar en beskrivning av aktivitetens argument, variabler, underordnade aktiviteter och aktivitetsdelegater.

(Ärvd från Activity)
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
FromOperationDescription(OperationDescription)

Returnerar mottagningsaktiviteten från beskrivningen av den angivna kontraktsåtgärden.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Genererar en händelse när du skapar en dynamisk uppdateringskarta.

(Ärvd från Activity)
ShouldSerializeCorrelatesOn()

Returnerar ett värde som anger om egenskapen CorrelatesOn har ändrats från standardvärdet och ska serialiseras.

ShouldSerializeDisplayName()

Anger om egenskapen DisplayName ska serialiseras.

(Ärvd från Activity)
ToString()

Returnerar en String som innehåller Id och DisplayName för Activity.

(Ärvd från Activity)

Gäller för

Se även