Compartir a través de


CorrelationScope Clase

Definición

Proporciona administración CorrelationHandle implícita para las actividades de mensajería secundarias.

public ref class CorrelationScope : System::Activities::NativeActivity
public class CorrelationScope : System.Activities.NativeActivity
type CorrelationScope = class
    inherit NativeActivity
Public Class CorrelationScope
Inherits NativeActivity
Herencia
CorrelationScope

Ejemplos

En el siguiente ejemplo se muestra cómo crear una clase CorrelationScope. En este ejemplo se crea y Sequence se agrega un CorrelationScope objeto (entre otras actividades). La clase CorrelationScope contiene una clase Sequence formada por una actividad de las clases Send y ReceiveReply.

return new Sequence
{
    Variables = { po, customer },
    Activities =
    {
        new Assign<PurchaseOrder>
        {
            To = po,
            Value = new InArgument<PurchaseOrder>( (e) => new PurchaseOrder() { PartName = "Widget", Quantity = 150 } )
        },
        new Assign<Customer>
        {
            To = customer,
            Value = new InArgument<Customer>( (e) => new Customer() { Id = 12345678, Name = "John Smith" } )
        },
        new WriteLine { Text = new InArgument<string>( (e) => string.Format("Submitting new PurchaseOrder for {0} {1}s", po.Get(e).Quantity, po.Get(e).PartName) ) },
        new CorrelationScope
        {
            Body = new Sequence
            {
                Activities =
                {
                    submitPO,
                    new ReceiveReply
                    {
                        Request = submitPO,
                        Content = ReceiveContent.Create(new OutArgument<int>( (e) => po.Get(e).Id ))
                    }
                }
            }
        },
        new WriteLine { Text = new InArgument<string>( (e) => string.Format("Received ID for new PO: {0}", po.Get(e).Id) ) },
        new Assign<int> { To = new OutArgument<int>( (e) => po.Get(e).Quantity ), Value = 250 },
        new WriteLine { Text = "Updated PO with new quantity: 250.  Resubmitting updated PurchaseOrder based on POId." },
        new Send
        {
            Endpoint = clientEndpoint,
            ServiceContractName = Constants.POContractName,
            OperationName = Constants.UpdatePOName,
            Content = SendContent.Create(new InArgument<PurchaseOrder>(po))
        },
        new Assign<int>
        {
            To = new OutArgument<int>( (e) => po.Get(e).CustomerId ),
            Value = new InArgument<int>( (e) => customer.Get(e).Id )
        },
        new WriteLine { Text = "Updating customer data based on CustomerId." },
        new Send
        {
            Endpoint = clientEndpoint,
            ServiceContractName = Constants.POContractName,
            OperationName = Constants.AddCustomerInfoName,
            Content = SendContent.Create(new InArgument<PurchaseOrder>(po))
        },
        new Send
        {
            Endpoint = clientEndpoint,
            ServiceContractName = Constants.POContractName,
            OperationName = Constants.UpdateCustomerName,
            Content = SendContent.Create(new InArgument<Customer>(customer))
        },
        new WriteLine { Text = "Client completed." }
    }
};

Comentarios

La actividad CorrelationScope mantiene un objeto CorrelationHandle implícito que solo está visible para las actividades secundarias. Cuando el usuario establece la propiedad CorrelatesWith, dicha propiedad se usará como el identificador implícito CorrelationScope. En el caso de la clase CorrelationScope anidada, los elementos secundarios del ámbito interno no pueden tener acceso al identificador implícito del ámbito externo.

Constructores

CorrelationScope()

Inicializa una nueva instancia de la clase CorrelationScope.

Propiedades

Body

Obtiene o establece la lógica de ejecución de la actividad.

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)
CorrelatesWith

Obtiene o establece el objeto CorrelationHandle usado por las actividades de mensajería secundarias.

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)

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)

Compila y valida una descripción de los argumentos, las variables, las actividades secundarias y los delegados de la actividad.

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)

Llamado por el flujo de trabajo en tiempo de ejecución para ejecutar la actividad CorrelationScope.

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)
ShouldSerializeCorrelatesWith()

Indica si la propiedad CorrelatesWith 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)
UpdateInstance(NativeActivityUpdateContext)

Actualiza la instancia de NativeActivity.

(Heredado de NativeActivity)

Se aplica a