TransactedReceiveScope Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Eine Aktivität, die die Lebensdauer einer Transaktion angibt, die von einer empfangenen Nachricht initiiert wird. Die Transaktion kann in den Workflow für die initiierende Nachricht fließen oder vom Verteiler erstellt werden, wenn die Nachricht empfangen wird.
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
- Vererbung
- Attribute
Beispiele
Das folgende Beispiel zeigt, wie die TransactedReceiveScope Klasse in einer Sequence Aktivität verwendet wird.
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." },
},
};
Hinweise
Mit TransactedReceiveScope der Aktivität können Sie die Lebensdauer der flussierten Transaktion steuern.
Warnung
Bei einer initiierenden TransactedReceiveScope Aktivität (eine TransactedReceiveScope Aktivität mit ReceiveCanCreateInstance festgelegtem trueWert) wird die Transaktion erstellt, bevor die Laufzeit mit der Ausführung der TransactedReceiveScope Aktivität beginnt. Diese Transaktion befindet sich nicht auf der Workflowaktivitätsebene, sondern in den zugrunde liegenden Persistenzebenen. Wenn die Ausführung des Workflows vor der TransactedReceiveScope Aktivität auf eine Persist Aktivität trifft, versucht die Laufzeit, unter der Umgebungstransaktion beizubehalten. Dieses Verhalten verursacht einen Block, bis die Transaktion abgeschlossen ist. Da die Workflowausführung den Body Abschnitt nicht erreicht hat, kann die Transaktion nicht abgeschlossen werden. Dieser Deadlock bewirkt, dass der Workflow nicht mehr reagiert, bis das Transaktionszeitüberschreitungsvorgang erfolgt. Wenn die Transaktion ausbricht, wird die neu erstellte Instanz abgebrochen.
Von Bedeutung
Es wird empfohlen, bei Verwendung von TransactedReceiveScope alle empfangenen Nachrichten im Workflow in TransactedReceiveScope-Aktivitäten zu platzieren.
Von Bedeutung
Wenn TransactedReceiveScope verwendet wird und Nachrichten in der falschen Reihenfolge ankommen, wird der Workflow abgebrochen, wenn versucht wird, die erste aus der Reihenfolge geratene Nachricht zu übermitteln. Sie müssen sicherstellen, dass der Workflow im Leerlauf stets einen konsistenten Haltepunkt aufweist. Auf diese Weise können Sie den Workflow von einem vorherigen Persistenzpunkt neu starten, wenn der Workflow abgebrochen wird.
Konstruktoren
| Name | Beschreibung |
|---|---|
| TransactedReceiveScope() |
Initialisiert eine neue Instanz der TransactedReceiveScope-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Body |
Dient zum Abrufen oder Festlegen des Activity Textkörpers der TransactedReceiveScope Aktivität. |
| CacheId |
Ruft den Bezeichner des Caches ab, der innerhalb des Bereichs der Workflowdefinition eindeutig ist. (Geerbt von Activity) |
| CanInduceIdle |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Aktivität dazu führen kann, dass der Workflow im Leerlauf ist. (Geerbt von NativeActivity) |
| Constraints |
Ruft eine Sammlung von Constraint Aktivitäten ab, die für die ActivityÜberprüfung konfiguriert werden können. (Geerbt von Activity) |
| DisplayName |
Dient zum Abrufen oder Festlegen eines optionalen Anzeigenamens, der für das Debuggen, die Überprüfung, die Ausnahmebehandlung und die Nachverfolgung verwendet wird. (Geerbt von Activity) |
| Id |
Ruft einen Bezeichner ab, der im Bereich 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 sie fest. (Geerbt von NativeActivity) |
| Request |
Ruft die Receive dieser TransactedReceiveScope Aktivität zugeordnete Aktivität ab oder legt sie fest. |
| Variables |
Ruft die Auflistung der Variable diesem TransactedReceiveScopezugeordneten ab. |
Methoden
| Name | Beschreibung |
|---|---|
| Abort(NativeActivityAbortContext) |
Wenn sie in einer abgeleiteten Klasse implementiert wird, werden Aktionen als Reaktion auf die abgebrochene Aktivität ausgeführt. (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ätsdelegatten der Aktivität. (Geerbt von NativeActivity) |
| Cancel(NativeActivityContext) |
Wenn sie in einer abgeleiteten Klasse implementiert wird, wird Logik ausgeführt, um einen ordnungsgemäßen frühzeitigen Abschluss der Aktivität zu verursachen. (Geerbt von NativeActivity) |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| Execute(NativeActivityContext) |
Wenn sie in einer abgeleiteten Klasse implementiert wird, wird die Ausführungslogik der Aktivität ausgeführt. (Geerbt von NativeActivity) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity) |
Löst ein Ereignis aus, wenn eine Karte für die dynamische Aktualisierung erstellt wird. (Geerbt von NativeActivity) |
| OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Löst ein Ereignis aus, wenn eine Karte für die dynamische Aktualisierung erstellt wird. (Geerbt von NativeActivity) |
| ShouldSerializeDisplayName() |
Gibt an, ob die DisplayName Eigenschaft serialisiert werden soll. (Geerbt von Activity) |
| ToString() |
Gibt einen String Wert zurück, der das Id Und DisplayName des .Activity (Geerbt von Activity) |
| UpdateInstance(NativeActivityUpdateContext) |
Aktualisiert die Instanz von NativeActivity. (Geerbt von NativeActivity) |