Receive Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Actividad que recibe un mensaje.
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
- Herencia
- Atributos
Ejemplos
En el siguiente ejemplo se muestra la creación de una actividad Receive y la agrega a un flujo de trabajo en código.
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
};
En el siguiente ejemplo se muestra la creación de una actividad de la clase Receive y la agrega a un servicio de flujo de trabajo en 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>
Comentarios
La actividad Receive puede recibir un elemento único o varios elementos, en función del tipo de contenido de Receive que se utilice.
Advertencia
Cuando un flujo de trabajo contiene múltiples actividades Receive con el mismo nombre de operación, la propiedad CorrelatesOn se debe establecer en el mismo conjunto de consultas de correlación.
Constructores
Receive() |
Inicializa una nueva instancia de la clase Receive. |
Propiedades
Action |
Obtiene o establece el valor del encabezado de acción del mensaje. |
CacheId |
Obtiene el identificador de la memoria caché que es único dentro del ámbito de definición del flujo de trabajo. (Heredado de Activity) |
CanCreateInstance |
Obtiene o establece un valor que indica si se crea una nueva instancia de flujo de trabajo para procesar el mensaje en caso de que este no se correlacione con una instancia de flujo de trabajo existente. |
Constraints |
Obtiene una colección de las actividades Constraint que se puede configurar para proporcionar validación para Activity. (Heredado de Activity) |
Content |
Obtiene o establece los datos que se van a recibir. El contenido puede ser una clase ReceiveMessageContent o una clase ReceiveParametersContent. |
CorrelatesOn |
Obtiene o establece el objeto MessageQuerySet usado para consultar el mensaje y extraer los datos de la correlación. |
CorrelatesWith |
Obtiene o establece un identificador de correlación que se usa para enrutar el mensaje a la instancia de flujo de trabajo adecuada. |
CorrelationInitializers |
Obtiene una colección de inicializadores de correlación que inicializan correlaciones basadas en consultas, de contexto, de contexto de devolución de llamada o de solicitud/respuesta cuando se ejecuta una actividad Send. |
DisplayName |
Obtiene o establece un nombre descriptivo opcional que se utiliza para la depuración, la validación, el control de excepciones y el seguimiento. (Heredado de Activity) |
Id |
Obtiene un identificador que es único dentro del ámbito de definición del flujo de trabajo. (Heredado de Activity) |
Implementation |
Obtiene o establece el delegado que devuelve un objeto Activity que contiene la lógica de ejecución. (Heredado de Activity) |
ImplementationVersion |
Obtiene o establece la versión de la implementación usada. (Heredado de Activity) |
KnownTypes |
Obtiene una colección de tipos conocidos para la operación. |
OperationName |
Obtiene o establece el nombre de la operación implementada por la clase Receive. |
ProtectionLevel |
Obtiene o establece un valor que indica el nivel de protección para la operación. |
SerializerOption |
Obtiene o establece un valor que especifica el serializador que se va a usar en esta operación. |
ServiceContractName |
Obtiene o establece el nombre del contrato de servicio. |
Métodos
CacheMetadata(ActivityMetadata) |
Crea y valida una descripción de los argumentos, las variables, las actividades secundarias y delegados de la actividad. (Heredado de Activity) |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
FromOperationDescription(OperationDescription) |
Devuelve la actividad de recepción de la descripción de operación de contrato dada. |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Genera un evento al crear una asignación de actualización dinámica. (Heredado de Activity) |
ShouldSerializeCorrelatesOn() |
Devuelve un valor que indica si la propiedad CorrelatesOn ha cambiado respecto de su valor predeterminado y se debe serializar. |
ShouldSerializeDisplayName() |
Indica si la propiedad DisplayName se debe serializar. (Heredado de Activity) |
ToString() |
Devuelve un objeto String que contiene las propiedades Id y DisplayName del objeto Activity. (Heredado de Activity) |