CorrelationScope Classe

Définition

Fournit une gestion de CorrelationHandle implicite pour les activités de messagerie enfants.

public ref class CorrelationScope : System::Activities::NativeActivity
public class CorrelationScope : System.Activities.NativeActivity
type CorrelationScope = class
    inherit NativeActivity
Public Class CorrelationScope
Inherits NativeActivity
Héritage
CorrelationScope

Exemples

L'exemple suivant montre comment créer un CorrelationScope. Cet exemple crée un Sequence et ajoute un CorrelationScope (entre autres activités). CorrelationScope contient un Sequence composé d'une activité Send et 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." }
    }
};

Remarques

L'activité CorrelationScope maintient un CorrelationHandle implicite qui est uniquement visible par les activités enfants. Lorsque la propriété CorrelatesWith est définie par l'utilisateur, elle est utilisée comme handle implicite de CorrelationScope. Dans le cas de CorrelationScope imbriqué, les enfants de l'étendue interne ne peuvent pas accéder au handle implicite de l'étendue externe.

Constructeurs

CorrelationScope()

Initialise une nouvelle instance de la classe CorrelationScope.

Propriétés

Body

Obtient ou définit la logique d’exécution de l’activité.

CacheId

Obtient l'identificateur du cache qui est unique dans la portée de la définition de flux de travail.

(Hérité de Activity)
CanInduceIdle

Obtient ou définit une valeur qui indique si l'activité peut faire passer le flux de travail à l'état inactif.

(Hérité de NativeActivity)
Constraints

Obtient une collection d'activités Constraint qui peuvent être configurées afin de fournir la validation pour l'objet Activity.

(Hérité de Activity)
CorrelatesWith

Obtient ou définit le CorrelationHandle utilisé par les activités de messagerie enfants.

DisplayName

Obtient ou définit un nom convivial utilisé pour le débogage, la validation, la gestion des exceptions et le suivi.

(Hérité de Activity)
Id

Obtient l'identificateur qui est unique dans la portée de la définition de flux de travail.

(Hérité de Activity)
Implementation

Logique d'exécution de l'activité.

(Hérité de NativeActivity)
ImplementationVersion

Obtient ou définit la version d'implémentation de l'activité.

(Hérité de NativeActivity)

Méthodes

Abort(NativeActivityAbortContext)

Lors de l'implémentation dans une classe dérivée, entreprend des actions en réponse à l'activité qui est abandonnée.

(Hérité de NativeActivity)
CacheMetadata(ActivityMetadata)

Non implémenté. Utilisez plutôt la méthode CacheMetadata(NativeActivityMetadata).

(Hérité de NativeActivity)
CacheMetadata(NativeActivityMetadata)

Génère et valide une description des arguments, des variables, des activités enfants et des délégués de l’activité.

Cancel(NativeActivityContext)

Lors de l'implémentation dans une classe dérivée, exécute la logique permettant de provoquer une fin anticipée appropriée de l'activité.

(Hérité de NativeActivity)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
Execute(NativeActivityContext)

Appelé par l'exécution du flux de travail pour exécuter l'activité CorrelationScope.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Déclenche un événement en créant une carte pour la mise à jour dynamique.

(Hérité de NativeActivity)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Déclenche un événement en créant une carte pour la mise à jour dynamique.

(Hérité de NativeActivity)
ShouldSerializeCorrelatesWith()

Indique si la propriété CorrelatesWith doit être sérialisée.

ShouldSerializeDisplayName()

Indique si la propriété DisplayName doit être sérialisée.

(Hérité de Activity)
ToString()

Retourne un objet String qui contient les propriétés Id et DisplayName de l'objet Activity.

(Hérité de Activity)
UpdateInstance(NativeActivityUpdateContext)

Met à jour l'instance de NativeActivity.

(Hérité de NativeActivity)

S’applique à