Receive Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Attività che riceve un messaggio.
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
- Ereditarietà
- Attributi
Esempio
Nell'esempio seguente viene mostrato come creare un'attività Receive e aggiungerla a un flusso di lavoro nel codice.
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
};
Nell'esempio seguente viene mostrato come creare un'attività Receive e aggiungerla a un servizio del flusso di lavoro nel 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>
Commenti
L'attività Receive può ricevere un solo elemento o più elementi a seconda del tipo di contenuto di ricezione usato.
Avviso
Quando un flusso di lavoro contiene più attività Receive con lo stesso nome dell'operazione, la proprietà CorrelatesOn deve essere impostata sullo stesso set di query di correlazione.
Costruttori
Receive() |
Inizializza una nuova istanza della classe Receive. |
Proprietà
Action |
Ottiene o imposta il valore dell'intestazione dell'azione del messaggio. |
CacheId |
Ottiene l'identificatore della cache che è univoco all'interno dell'ambito della definizione del flusso di lavoro. (Ereditato da Activity) |
CanCreateInstance |
Ottiene o imposta un valore che indica se una nuova istanza del flusso di lavoro viene creata per elaborare il messaggio, se il messaggio non è correlato a un'istanza del flusso di lavoro esistente. |
Constraints |
Ottiene una raccolta di attività Constraint che possono essere configurate per fornire la convalida per Activity. (Ereditato da Activity) |
Content |
Ottiene o imposta i dati da ricevere. Il contenuto può essere un oggetto ReceiveMessageContent o ReceiveParametersContent. |
CorrelatesOn |
Ottiene o imposta MessageQuerySet utilizzato per eseguire una query nel messaggio per l'estrazione di dati di correlazione. |
CorrelatesWith |
Ottiene o imposta un handle di correlazione utilizzato per indirizzare il messaggio all'istanza del flusso di lavoro appropriata. |
CorrelationInitializers |
Ottiene una raccolta di inizializzatori di correlazione che inizializzano contesto basato su query, contesto di callback o correlazioni request/reply con un' attività Send che viene eseguita. |
DisplayName |
Ottiene o imposta un nome descrittivo facoltativo utilizzato per debug, convalida, gestione delle eccezioni e rilevamento. (Ereditato da Activity) |
Id |
Ottiene un identificatore che è univoco nell'ambito della definizione del flusso di lavoro. (Ereditato da Activity) |
Implementation |
Ottiene o imposta il delegato che restituisce una Activity che contiene la logica di esecuzione. (Ereditato da Activity) |
ImplementationVersion |
Ottiene o imposta la versione dell'implementazione utilizzata. (Ereditato da Activity) |
KnownTypes |
Ottiene una raccolta di tipi noti relativi all'operazione. |
OperationName |
Ottiene o imposta il nome dell'operazione implementata da Receive. |
ProtectionLevel |
Ottiene o imposta un valore che indica il livello di protezione per l'operazione. |
SerializerOption |
Ottiene o imposta un valore che specifica il serializzatore da utilizzare per questa operazione. |
ServiceContractName |
Ottiene o imposta il nome del contratto di servizio. |
Metodi
CacheMetadata(ActivityMetadata) |
Crea e convalida una descrizione degli argomenti dell'attività, delle variabili, delle attività figlio e dei delegati di attività. (Ereditato da Activity) |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
FromOperationDescription(OperationDescription) |
Restituisce l'attività di ricezione dalla descrizione dell'operazione del contratto specificata. |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Genera un evento quando si crea un mapping per l'aggiornamento dinamico. (Ereditato da Activity) |
ShouldSerializeCorrelatesOn() |
Restituisce un valore che indica se la proprietà CorrelatesOn è cambiata rispetto al valore predefinito e deve essere serializzata. |
ShouldSerializeDisplayName() |
Indica se la proprietà DisplayName deve essere serializzata. (Ereditato da Activity) |
ToString() |
Restituisce un String che contiene il Id e il DisplayName del Activity. (Ereditato da Activity) |