TransactedReceiveScope Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Aktivita, která určuje dobu životnosti transakce, která je inicializována přijatou zprávou. Transakce může být tokem do pracovního postupu v inicialující zprávě nebo může být vytvořena dispečerem při přijetí zprávy.
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
- Dědičnost
- Atributy
Příklady
Následující příklad ukazuje, jak použít TransactedReceiveScope třídu v aktivitě 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." },
},
};
Poznámky
Aktivita TransactedReceiveScope umožňuje řídit životnost toku transakce.
Upozornění
Pro iniciující TransactedReceiveScope aktivitu (TransactedReceiveScopekterá obsahuje aktivitu s CanCreateInstance nastavenou Receive na true
) se transakce vytvoří před spuštěním TransactedReceiveScope modulu runtime. Tato transakce není okolní ve vrstvě aktivity pracovního postupu, ale je okolní v podkladových vrstvách trvalosti. Pokud spuštění pracovního postupu narazí Persist na aktivitu před aktivitou TransactedReceiveScope , modul runtime se pokusí zachovat v okolí transakce. Toto chování způsobí blokování, dokud transakce není dokončena. Vzhledem k tomu, že provádění pracovního postupu nedosáhlo Body oddílu, transakce nemůže dokončit. Toto vzájemné zablokování způsobí, že pracovní postup přestane reagovat, dokud nedojde k vypršení časového limitu transakce. Po vypršení časového limitu transakce je nově vytvořená instance přerušena.
Důležité
Při každém použití TransactedReceiveScope se doporučuje umístit všechny příjemy do pracovního postupu v rámci TransactedReceiveScope aktivit.
Důležité
Při použití TransactedReceiveScope a doručení zpráv v nesprávném pořadí se pracovní postup při pokusu o doručení první zprávy mimo pořadí přeruší. Je nutné zajistit, aby byl pracovní postup vždy v konzistentním bodě zastavení, když se pracovní postup nečinně zastaví. To vám umožní restartovat pracovní postup z předchozího bodu trvalosti v případě přerušení pracovního postupu.
Konstruktory
TransactedReceiveScope() |
Inicializuje novou instanci TransactedReceiveScope třídy. |
Vlastnosti
Body |
Získá nebo nastaví Activity , který tvoří tělo TransactedReceiveScope aktivity. |
CacheId |
Získá identifikátor mezipaměti, který je jedinečný v rozsahu definice pracovního postupu. (Zděděno od Activity) |
CanInduceIdle |
Získá nebo nastaví hodnotu, která označuje, zda aktivita může způsobit pracovní postup nečinný. (Zděděno od NativeActivity) |
Constraints |
Získá kolekci Constraint aktivit, které lze nakonfigurovat tak, aby poskytovaly ověření pro Activity. (Zděděno od Activity) |
DisplayName |
Získá nebo nastaví volitelný popisný název, který se používá pro ladění, ověřování, zpracování výjimek a sledování. (Zděděno od Activity) |
Id |
Získá identifikátor, který je jedinečný v oboru definice pracovního postupu. (Zděděno od Activity) |
Implementation |
Logika provádění aktivity. (Zděděno od NativeActivity) |
ImplementationVersion |
Získá nebo nastaví verzi implementace aktivity. (Zděděno od NativeActivity) |
Request |
Získá nebo nastaví aktivitu přidruženou Receive k této TransactedReceiveScope aktivitě. |
Variables |
Získá kolekci přidružené Variable k tomuto TransactedReceiveScope. |
Metody
Abort(NativeActivityAbortContext) |
Při implementaci v odvozené třídě provede akce v reakci na aktivitu, která je přerušena. (Zděděno od NativeActivity) |
CacheMetadata(ActivityMetadata) |
Není implementováno. Místo toho použijte metodu CacheMetadata(NativeActivityMetadata) . (Zděděno od NativeActivity) |
CacheMetadata(NativeActivityMetadata) |
Vytvoří a ověří popis argumentů, proměnných, podřízených aktivit a delegátů aktivit aktivity. (Zděděno od NativeActivity) |
Cancel(NativeActivityContext) |
Při implementaci v odvozené třídě spustí logiku, která způsobí řádné předčasné dokončení aktivity. (Zděděno od NativeActivity) |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
Execute(NativeActivityContext) |
Při implementaci v odvozené třídě spustí logiku provádění aktivity. (Zděděno od NativeActivity) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity) |
Vyvolá událost při vytváření mapy pro dynamickou aktualizaci. (Zděděno od NativeActivity) |
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Vyvolá událost při vytváření mapy pro dynamickou aktualizaci. (Zděděno od NativeActivity) |
ShouldSerializeDisplayName() |
Určuje, zda DisplayName má být vlastnost serializována. (Zděděno od Activity) |
ToString() |
Vrátí hodnotuString, která obsahuje Id a DisplayName .Activity (Zděděno od Activity) |
UpdateInstance(NativeActivityUpdateContext) |
Aktualizace instanci .NativeActivity (Zděděno od NativeActivity) |