Udostępnij za pośrednictwem


TransactedReceiveScope Klasa

Definicja

Działanie, które określa zakres istnienia transakcji zainicjowanej przez odebrany komunikat. Transakcję można przekazać do przepływu pracy w komunikacie inicjującym lub utworzyć przez dyspozytor po odebraniu komunikatu.

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
Dziedziczenie
TransactedReceiveScope
Atrybuty

Przykłady

W poniższym przykładzie pokazano, jak używać TransactedReceiveScope klasy w Sequence działaniu.

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

Uwagi

Działanie TransactedReceiveScope umożliwia kontrolowanie okresu istnienia przepływanej transakcji.

Ostrzeżenie

W przypadku działania inicjującego TransactedReceiveScope (zawierającego TransactedReceiveScope działanie z ustawioną ReceiveCanCreateInstance wartością true) transakcja jest tworzona przed rozpoczęciem wykonywania TransactedReceiveScope działania przez środowisko uruchomieniowe. Ta transakcja nie jest otoczenia w warstwie działania przepływu pracy, ale jest otoczenia w bazowych warstwach trwałości. Jeśli wykonanie przepływu pracy napotka działanie przed TransactedReceiveScope działaniemPersist, środowisko uruchomieniowe podejmie próbę utrwalonego działania w ramach transakcji otoczenia. To zachowanie powoduje zablokowanie do momentu ukończenia transakcji. Ponieważ wykonanie przepływu pracy nie dotarło do Body sekcji, transakcja nie może zakończyć się. Ta zakleszczenie powoduje, że przepływ pracy przestanie odpowiadać do momentu upłynął limit czasu transakcji. Po przekroczeniu limitu czasu transakcji nowo utworzone wystąpienie zostanie przerwane.

Ważne

Zawsze, gdy używasz elementu TransactedReceiveScope , zaleca się umieszczenie wszystkich odbierze w przepływie pracy w ramach TransactedReceiveScope działań.

Ważne

W przypadku użycia i TransactedReceiveScope odebrania komunikatów w nieprawidłowej kolejności przepływ pracy zostanie przerwany podczas próby dostarczenia pierwszego komunikatu poza kolejnością. Upewnij się, że przepływ pracy jest zawsze w spójnym punkcie zatrzymywania, gdy przepływ pracy jest bezczynny. Umożliwi to ponowne uruchomienie przepływu pracy z poprzedniego punktu trwałości w przypadku przerwania przepływu pracy.

Konstruktory

TransactedReceiveScope()

Inicjuje nowe wystąpienie klasy TransactedReceiveScope.

Właściwości

Body

Pobiera lub ustawia Activity element, który składa się na treść TransactedReceiveScope działania.

CacheId

Pobiera identyfikator pamięci podręcznej, która jest unikatowa w zakresie definicji przepływu pracy.

(Odziedziczone po Activity)
CanInduceIdle

Pobiera lub ustawia wartość wskazującą, czy działanie może spowodować, że przepływ pracy stanie się bezczynny.

(Odziedziczone po NativeActivity)
Constraints

Pobiera kolekcję Constraint działań, które można skonfigurować w celu zapewnienia weryfikacji dla elementu Activity.

(Odziedziczone po Activity)
DisplayName

Pobiera lub ustawia opcjonalną przyjazną nazwę używaną do debugowania, walidacji, obsługi wyjątków i śledzenia.

(Odziedziczone po Activity)
Id

Pobiera identyfikator, który jest unikatowy w zakresie definicji przepływu pracy.

(Odziedziczone po Activity)
Implementation

Logika wykonywania działania.

(Odziedziczone po NativeActivity)
ImplementationVersion

Pobiera lub ustawia wersję implementacji działania.

(Odziedziczone po NativeActivity)
Request

Pobiera lub ustawia Receive działanie skojarzone z tym TransactedReceiveScope działaniem.

Variables

Pobiera kolekcję skojarzeń Variable z tym TransactedReceiveScopeelementem .

Metody

Abort(NativeActivityAbortContext)

Po zaimplementowaniu w klasie pochodnej akcje są wykonywane w odpowiedzi na przerwane działanie.

(Odziedziczone po NativeActivity)
CacheMetadata(ActivityMetadata)

Nie zaimplementowano. CacheMetadata(NativeActivityMetadata) Zamiast tego użyj metody .

(Odziedziczone po NativeActivity)
CacheMetadata(NativeActivityMetadata)

Tworzy i weryfikuje opis argumentów, zmiennych, działań podrzędnych i delegatów działań.

(Odziedziczone po NativeActivity)
Cancel(NativeActivityContext)

Po zaimplementowaniu w klasie pochodnej logika uruchamia logikę, aby spowodować pomyślne wczesne ukończenie działania.

(Odziedziczone po NativeActivity)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Execute(NativeActivityContext)

Po zaimplementowaniu w klasie pochodnej uruchamia logikę wykonywania działania.

(Odziedziczone po NativeActivity)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Zgłasza zdarzenie podczas tworzenia mapy aktualizacji dynamicznej.

(Odziedziczone po NativeActivity)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Zgłasza zdarzenie podczas tworzenia mapy aktualizacji dynamicznej.

(Odziedziczone po NativeActivity)
ShouldSerializeDisplayName()

Wskazuje, czy DisplayName właściwość powinna być serializowana.

(Odziedziczone po Activity)
ToString()

Zwraca obiekt String , który zawiera elementy Id i DisplayName .Activity

(Odziedziczone po Activity)
UpdateInstance(NativeActivityUpdateContext)

Aktualizacje wystąpienie klasy NativeActivity.

(Odziedziczone po NativeActivity)

Dotyczy