TransactedReceiveScope Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
- 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) |