Freigeben über


CorrelationScope Klasse

Definition

Stellt die implizite CorrelationHandle-Verwaltung für untergeordnete Messagingaktivitäten bereit.

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

Beispiele

Im folgenden Beispiel wird gezeigt, wie ein CorrelationScope erstellt wird. In diesem Beispiel wird eine Sequence (unter anderem Aktivitäten) erstellt und hinzugefügt CorrelationScope . Der CorrelationScope enthält eine Sequence, die aus einer Send-Aktivität und einer ReceiveReply-Aktivität besteht.

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." }
    }
};

Hinweise

Die CorrelationScope-Aktivität behält einen impliziten CorrelationHandle bei, der nur für untergeordnete Aktivitäten sichtbar ist. Wenn die CorrelatesWith-Eigenschaft vom Benutzer festgelegt wird, wird es als implizites CorrelationScope-Handle verwendet. Im Fall von geschachteltem CorrelationScope können untergeordnete Elemente des inneren Bereichs nicht auf auf das implizite Handle des äußeren Bereichs zugreifen.

Konstruktoren

CorrelationScope()

Initialisiert eine neue Instanz der CorrelationScope-Klasse.

Eigenschaften

Body

Ruft die Ausführungslogik der Aktivität ab oder legt sie fest.

CacheId

Ruft den Bezeichner des Caches ab, der innerhalb des Bereichs der Workflowdefinition eindeutig ist.

(Geerbt von Activity)
CanInduceIdle

Ruft einen Wert ab bzw. legt einen Wert fest, der angibt, ob die Aktivität verursachen kann, dass der Workflow in den Leerlauf versetzt wird.

(Geerbt von NativeActivity)
Constraints

Ruft eine Auflistung von Constraint-Aktivitäten ab, die so konfiguriert werden kann, dass sie die Validierung für Activity bereitstellt.

(Geerbt von Activity)
CorrelatesWith

Ruft das von den untergeordneten Messagingaktivitäten verwendete CorrelationHandle ab oder legt es fest.

DisplayName

Ruft einen optionalen Anzeigenamen ab, der für Debugging, Validierung, Ausnahmebehandlung und Nachverfolgung verwendet wird, oder legt ihn fest.

(Geerbt von Activity)
Id

Ruft einen Bezeichner ab, der innerhalb des Bereichs der Workflowdefinition eindeutig ist.

(Geerbt von Activity)
Implementation

Die Ausführungslogik der Aktivität.

(Geerbt von NativeActivity)
ImplementationVersion

Ruft die Implementierungsversion der Aktivität ab oder legt diese fest.

(Geerbt von NativeActivity)

Methoden

Abort(NativeActivityAbortContext)

Führt bei Implementierung in einer abgeleiteten Klasse Aktionen als Reaktion auf die abgebrochene Aktivität aus.

(Geerbt von NativeActivity)
CacheMetadata(ActivityMetadata)

Nicht implementiert. Verwenden Sie stattdessen die CacheMetadata(NativeActivityMetadata)-Methode.

(Geerbt von NativeActivity)
CacheMetadata(NativeActivityMetadata)

Erstellt und überprüft eine Beschreibung der Argumente, Variablen, untergeordneten Aktivitäten und Aktivitätsdelegaten der Aktivität.

Cancel(NativeActivityContext)

Führt bei Implementierung in einer abgeleiteten Klasse Logik für einen ordnungsgemäßen frühzeitigen Abschluss der Aktivität aus.

(Geerbt von NativeActivity)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Execute(NativeActivityContext)

Wird von der Workflowlaufzeit zum Ausführen der CorrelationScope-Aktivität aufgerufen.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Löst ein Ereignis aus, wenn eine Zuordnung für das dynamische Update erstellt wird.

(Geerbt von NativeActivity)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Löst ein Ereignis aus, wenn eine Zuordnung für das dynamische Update erstellt wird.

(Geerbt von NativeActivity)
ShouldSerializeCorrelatesWith()

Gibt an, ob die CorrelatesWith- Eigenschaft serialisiert werden soll.

ShouldSerializeDisplayName()

Gibt an, ob die DisplayName- Eigenschaft serialisiert werden soll.

(Geerbt von Activity)
ToString()

Gibt eine String zurück, die Id und DisplayName von Activity enthält.

(Geerbt von Activity)
UpdateInstance(NativeActivityUpdateContext)

Aktualisiert die NativeActivity-Instanz.

(Geerbt von NativeActivity)

Gilt für