CorrelationScope 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í.
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
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) |