TransactedReceiveScope Třída

Definice

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

Platí pro