TransactedReceiveScope Classe

Définition

Une activité qui définit la durée de vie d’une transaction créée par un message reçu. La transaction peut être transmise dans le workflow sur le message de départ ou peut être créée par un répartiteur lorsque le message est reçu.

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
Héritage
TransactedReceiveScope
Attributs

Exemples

L'exemple suivant montre comment utiliser la classe TransactedReceiveScope dans une activité 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." },
    },
};

Remarques

L’activité TransactedReceiveScope vous permet de contrôler la durée de vie de la transaction passée.

Avertissement

Pour une activité de TransactedReceiveScope lancement (qui TransactedReceiveScope contient une Receive activité dont CanCreateInstance la valeur est définie sur true), la transaction est créée avant que le runtime commence à exécuter l’activité TransactedReceiveScope . Cette transaction n’est pas ambiante à la couche de l’activité de workflow, mais elle est ambiante dans les couches de persistance sous-jacentes. Si l’exécution du workflow rencontre une activité Persist avant l’activité TransactedReceiveScope, le runtime tente une persistance sous la transaction ambiante. Ce comportement provoque un blocage jusqu’à ce que la transaction soit terminée. Étant donné que l’exécution du workflow n’a pas atteint la section Body, la transaction ne peut pas se terminer. Ce blocage entraîne l’arrêt de la réponse du workflow jusqu’à ce que la transaction expire. Lorsque la transaction expire, l’instance nouvellement créée est abandonnée.

Important

Lorsque vous utilisez une activité TransactedReceiveScope, il est recommandé de placer toutes les réceptions dans le workflow dans les activités TransactedReceiveScope.

Important

Lorsque vous utilisez TransactedReceiveScope et les messages arrivent dans le mauvais ordre incorrect, le workflow est abandonné lorsque vous tentez de livrer le premier message dans le désordre. Vous devez vous assurer que votre workflow est toujours à un point d'arrêt cohérent lorsqu'il est inactif. Cela vous permet de redémarrer le workflow à partir d'un point de persistance précédent s'il est abandonné.

Constructeurs

TransactedReceiveScope()

Initialise une nouvelle instance de la classe TransactedReceiveScope.

Propriétés

Body

Obtient ou définit le Activity qui compose le corps de l'activité TransactedReceiveScope.

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

Obtient ou définit l'activité Receive associée à cette activité TransactedReceiveScope.

Variables

Obtient la collection de Variable associée à ce TransactedReceiveScope.

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)

Crée et valide une description des arguments, variables, activités enfants et délégués de l’activité.

(Hérité de NativeActivity)
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)

Lors de l’implémentation dans une classe dérivée, exécute la logique d’exécution de l’activité.

(Hérité de NativeActivity)
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)
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 à