TransactedReceiveScope 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 establece el ámbito de duración de una transacción que se inicia mediante un mensaje recibido. La transacción puede fluir en el flujo de trabajo del mensaje de inicio o la puede crear el distribuidor cuando se recibe el mensaje.
public ref class TransactedReceiveScope sealed : System::Activities::NativeActivity
[System.Windows.Markup.ContentProperty("Body")]
public sealed class TransactedReceiveScope : System.Activities.NativeActivity
[<System.Windows.Markup.ContentProperty("Body")>]
type TransactedReceiveScope = class
inherit NativeActivity
Public NotInheritable Class TransactedReceiveScope
Inherits NativeActivity
- Herencia
- Atributos
Ejemplos
En el siguiente ejemplo se muestra cómo usar la clase TransactedReceiveScope en una actividad Sequence.
return new Sequence
{
Activities =
{
new WriteLine { Text = "Service workflow begins." },
new System.ServiceModel.Activities.TransactedReceiveScope
{
Variables = { requestMessage, replyMessage },
Request = receive,
Body = new Sequence
{
Activities =
{
new WriteLine { Text = new InArgument<string>("Server side: Receive complete.") },
new WriteLine { Text = new InArgument<string>(new VisualBasicValue<string>() { ExpressionText = "\"Server side: Received = '\" + requestString.toString() + \"'\"" }) },
new PrintTransactionInfo(),
new Assign<string>
{
Value = new InArgument<string>("Server side: Sending reply."),
To = new OutArgument<string>(replyMessage)
},
new WriteLine { Text = new InArgument<string>("Server side: Begin reply.") },
new SendReply
{
Request = receive,
Content = SendContent.Create(new InArgument<string>(replyMessage)),
},
new WriteLine { Text = new InArgument<string>("Server side: Reply sent.") },
},
},
},
new WriteLine { Text = "Server workflow ends." },
},
};
Comentarios
La actividad TransactedReceiveScope permite controlar la duración de la transacción fluida.
Advertencia
Para una actividad de inicio TransactedReceiveScope (que TransactedReceiveScope contiene una Receive actividad con CanCreateInstance establecida true
en ), la transacción se crea antes de que el tiempo de ejecución empiece a ejecutar la TransactedReceiveScope actividad. Esta transacción no es ambiente en el nivel de actividad de flujo de trabajo, pero sí lo es en los niveles de persistencia subyacentes. Si la ejecución del runtime encuentra una actividad Persist antes de la actividad TransactedReceiveScope, el runtime intenta que sea persistente en la transacción ambiente. Este comportamiento provoca un bloqueo hasta que se completa la transacción. Debido a que la ejecución de flujo de trabajo no ha llegado a la sección Body, no se puede finalizar la transacción. Este interbloqueo hace que el flujo de trabajo deje de responder hasta que se agote el tiempo de espera de la transacción. Cuando se agota el tiempo de espera de la transacción, se anula la instancia recién creada.
Importante
Siempre que use un objeto TransactedReceiveScope se recomienda que coloque todas las recepciones en el flujo de trabajo dentro de actividades TransactedReceiveScope.
Importante
Cuando se usa el objeto TransactedReceiveScope y los mensajes llegan en el orden incorrecto, el flujo de trabajo se anulará al intentar entregar el primer mensaje que lo indique. Debe asegurarse de que el flujo de trabajo siempre está en un punto de detención coherente cuando el flujo de trabajo está inactivo. De este modo, podrá reiniciar el flujo de trabajo a partir de un punto de persistencia anterior si el flujo de trabajo se anula.
Constructores
TransactedReceiveScope() |
Inicializa una nueva instancia de la clase TransactedReceiveScope. |
Propiedades
Body |
Obtiene o establece el objeto Activity que constituye el cuerpo de la actividad TransactedReceiveScope. |
CacheId |
Obtiene el identificador de la memoria caché que es único dentro del ámbito de definición del flujo de trabajo. (Heredado de Activity) |
CanInduceIdle |
Obtiene o establece un valor que indica si la actividad puede hacer que el flujo de trabajo quede inactivo. (Heredado de NativeActivity) |
Constraints |
Obtiene una colección de las actividades Constraint que se puede configurar para proporcionar validación para Activity. (Heredado de Activity) |
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 |
Lógica de ejecución de la actividad. (Heredado de NativeActivity) |
ImplementationVersion |
Obtiene o establece la versión de implementación de la actividad. (Heredado de NativeActivity) |
Request |
Obtiene o establece la actividad Receive asociada a esta actividad TransactedReceiveScope. |
Variables |
Obtiene la colección de objetos Variable asociada a este TransactedReceiveScope. |
Métodos
Abort(NativeActivityAbortContext) |
Cuando se implementa en una clase derivada, realiza acciones en respuesta a la actividad que se va a anular. (Heredado de NativeActivity) |
CacheMetadata(ActivityMetadata) |
Sin implementar. Use el método CacheMetadata(NativeActivityMetadata) en su lugar. (Heredado de NativeActivity) |
CacheMetadata(NativeActivityMetadata) |
Crea y valida una descripción de los argumentos, las variables, las actividades secundarias y delegados de la actividad. (Heredado de NativeActivity) |
Cancel(NativeActivityContext) |
Cuando se implementa en una clase derivada, ejecuta la lógica para producir una finalización precoz y correcta de la actividad. (Heredado de NativeActivity) |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
Execute(NativeActivityContext) |
Cuando se implementa en una clase derivada, ejecuta la lógica de ejecución de la actividad. (Heredado de NativeActivity) |
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(NativeActivityUpdateMapMetadata, Activity) |
Genera un evento al crear una asignación para la actualización dinámica. (Heredado de NativeActivity) |
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Genera un evento al crear una asignación para la actualización dinámica. (Heredado de NativeActivity) |
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) |
UpdateInstance(NativeActivityUpdateContext) |
Actualiza la instancia de NativeActivity. (Heredado de NativeActivity) |