TransactedReceiveScope Klas

Definitie

Een activiteit die de levensduur van een transactie bereikt die wordt geïnitieerd door een ontvangen bericht. De transactie kan worden doorgestroomd naar de werkstroom voor het initiërende bericht of worden gemaakt door de dispatcher wanneer het bericht wordt ontvangen.

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
Overname
TransactedReceiveScope
Kenmerken

Voorbeelden

In het volgende voorbeeld ziet u hoe u de TransactedReceiveScope klasse in een Sequence activiteit gebruikt.

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

Opmerkingen

Met TransactedReceiveScope de activiteit kunt u de levensduur van de gestroomde transactie beheren.

Waarschuwing

Voor een initiërende TransactedReceiveScope activiteit (een TransactedReceiveScope activiteit die is Receive ingesteld CanCreateInstanceoptrue), wordt de transactie gemaakt voordat de runtime begint met het uitvoeren van de TransactedReceiveScope activiteit. Deze transactie bevindt zich niet in de werkstroomactiviteitslaag, maar is omgeving in de onderliggende persistentielagen. Als de uitvoering van de werkstroom een Persist activiteit tegenkomt vóór de TransactedReceiveScope activiteit, probeert de runtime zich onder de omgevingstransactie te houden. Dit gedrag veroorzaakt een blok totdat de transactie is voltooid. Omdat de werkstroomuitvoering de Body sectie niet heeft bereikt, kan de transactie niet worden voltooid. Deze impasse zorgt ervoor dat de werkstroom niet meer reageert totdat er een time-out optreedt voor de transactie. Wanneer er een time-out optreedt voor de transactie, wordt het zojuist gemaakte exemplaar afgebroken.

Important

Wanneer u een TransactedReceiveScope app gebruikt, wordt aanbevolen om alle ontvangsten in de workflow in TransactedReceiveScope-activiteiten op te nemen.

Important

Bij gebruik van TransactedReceiveScope en wanneer de berichten in de verkeerde volgorde binnenkomen, wordt de werkstroom afgebroken wanneer geprobeerd wordt om het eerste bericht buiten de volgorde af te leveren. U moet ervoor zorgen dat uw werkstroom altijd op een consistent stoppunt komt wanneer de werkstroom inactief is. Hierdoor kunt u de werkstroom opnieuw starten vanaf een eerder persistentiepunt als de werkstroom wordt afgebroken.

Constructors

Name Description
TransactedReceiveScope()

Initialiseert een nieuw exemplaar van de TransactedReceiveScope klasse.

Eigenschappen

Name Description
Body

Hiermee wordt de Activity hoofdtekst van de TransactedReceiveScope activiteit opgehaald of ingesteld.

CacheId

Hiermee haalt u de id op van de cache die uniek is binnen het bereik van de werkstroomdefinitie.

(Overgenomen van Activity)
CanInduceIdle

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de activiteit ertoe kan leiden dat de werkstroom niet actief wordt.

(Overgenomen van NativeActivity)
Constraints

Hiermee haalt u een verzameling Constraint activiteiten op die kunnen worden geconfigureerd voor validatie voor de Activity.

(Overgenomen van Activity)
DisplayName

Hiermee haalt u een optionele beschrijvende naam op die wordt gebruikt voor foutopsporing, validatie, afhandeling van uitzonderingen en tracering.

(Overgenomen van Activity)
Id

Hiermee haalt u een id op die uniek is in het bereik van de werkstroomdefinitie.

(Overgenomen van Activity)
Implementation

De uitvoeringslogica van de activiteit.

(Overgenomen van NativeActivity)
ImplementationVersion

Hiermee haalt u de implementatieversie van de activiteit op of stelt u deze in.

(Overgenomen van NativeActivity)
Request

Hiermee haalt u de Receive activiteit op die aan deze activiteit is gekoppeld of stelt u deze TransactedReceiveScope in.

Variables

Hiermee haalt u de verzameling van Variable gekoppelde gegevens TransactedReceiveScopeop.

Methoden

Name Description
Abort(NativeActivityAbortContext)

Wanneer deze is geïmplementeerd in een afgeleide klasse, voert u acties uit als reactie op de activiteit die wordt afgebroken.

(Overgenomen van NativeActivity)
CacheMetadata(ActivityMetadata)

Niet geïmplementeerd. Gebruik in plaats daarvan de CacheMetadata(NativeActivityMetadata) methode.

(Overgenomen van NativeActivity)
CacheMetadata(NativeActivityMetadata)

Hiermee maakt en valideert u een beschrijving van de argumenten, variabelen, onderliggende activiteiten en activiteit gedelegeerden van de activiteit.

(Overgenomen van NativeActivity)
Cancel(NativeActivityContext)

Wanneer deze is geïmplementeerd in een afgeleide klasse, voert u logica uit om een respijtende vroege voltooiing van de activiteit te veroorzaken.

(Overgenomen van NativeActivity)
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
Execute(NativeActivityContext)

Wanneer deze wordt geïmplementeerd in een afgeleide klasse, voert u de uitvoeringslogica van de activiteit uit.

(Overgenomen van NativeActivity)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Hiermee wordt een gebeurtenis gegenereerd bij het maken van een kaart voor de dynamische update.

(Overgenomen van NativeActivity)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Hiermee wordt een gebeurtenis gegenereerd bij het maken van een kaart voor de dynamische update.

(Overgenomen van NativeActivity)
ShouldSerializeDisplayName()

Geeft aan of de DisplayName eigenschap moet worden geserialiseerd.

(Overgenomen van Activity)
ToString()

Retourneert een String met de Id en DisplayName van de Activity.

(Overgenomen van Activity)
UpdateInstance(NativeActivityUpdateContext)

Hiermee wordt het exemplaar van NativeActivity.

(Overgenomen van NativeActivity)

Van toepassing op