TransactedReceiveScope Classe

Definição

Uma atividade que define a duração de uma transação iniciada por uma mensagem recebida. A transação pode ser integrada no fluxo de trabalho na mensagem inicial, ou ser criada pelo despachante quando a mensagem é recebida.

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
Herança
TransactedReceiveScope
Atributos

Exemplos

O exemplo seguinte mostra como usar a TransactedReceiveScope aula numa Sequence atividade.

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

Observações

A TransactedReceiveScope atividade permite-lhe controlar a vida útil da transação em fluxo.

Warning

Para uma atividade iniciadora TransactedReceiveScope (a TransactedReceiveScope que contém uma Receive atividade com CanCreateInstance definido como true), a transação é criada antes de o tempo de execução começar a executar a TransactedReceiveScope atividade. Esta transação não é ambiente na camada de atividade do fluxo de trabalho, mas é ambiente nas camadas de persistência subjacentes. Se a execução do fluxo de trabalho encontrar uma Persist atividade antes da TransactedReceiveScope atividade, o runtime tenta persistir sob a transação ambiente. Este comportamento provoca um bloqueio até que a transação seja concluída. Como a execução do fluxo de trabalho não chegou à Body secção, a transação não pode terminar. Este bloqueio faz com que o fluxo de trabalho pare de responder até que a transação expire. Quando a transação expira, a instância recém-criada é abortada.

Importante

Sempre que utilizar um TransactedReceiveScope, recomenda-se colocar todos os Receives no fluxo de trabalho dentro das atividades TransactedReceiveScope.

Importante

Ao usar TransactedReceiveScope e as mensagens chegarem na ordem incorreta, o fluxo de trabalho será abortado ao tentar entregar a primeira mensagem fora de ordem. Certifique-se de que o seu fluxo de trabalho esteja sempre num ponto de paragem consistente quando estiver inativo. Isso permitirá que você reinicie o fluxo de trabalho a partir de um ponto de persistência anterior, caso o fluxo de trabalho seja abortado.

Construtores

Name Description
TransactedReceiveScope()

Inicializa uma nova instância da TransactedReceiveScope classe.

Propriedades

Name Description
Body

Obtém ou estabelecem o Activity que compõe o corpo da TransactedReceiveScope atividade.

CacheId

Obtém o identificador da cache que é único dentro do âmbito da definição do workflow.

(Herdado de Activity)
CanInduceIdle

Recebe ou define um valor que indica se a atividade pode fazer com que o fluxo de trabalho fique inativo.

(Herdado de NativeActivity)
Constraints

Obtém uma coleção de Constraint atividades que podem ser configuradas para fornecer validação para o Activity.

(Herdado de Activity)
DisplayName

Recebe ou define um nome amigável opcional que é usado para depuração, validação, tratamento de exceções e rastreio.

(Herdado de Activity)
Id

Obtém um identificador que é único no âmbito da definição do fluxo de trabalho.

(Herdado de Activity)
Implementation

A lógica de execução da atividade.

(Herdado de NativeActivity)
ImplementationVersion

Recebe ou define a versão de implementação da atividade.

(Herdado de NativeActivity)
Request

Obtém ou define a Receive atividade associada a esta TransactedReceiveScope atividade.

Variables

Obtém a coleção de Variable associada a isto TransactedReceiveScope.

Métodos

Name Description
Abort(NativeActivityAbortContext)

Quando implementado numa classe derivada, toma ações em resposta à atividade abortada.

(Herdado de NativeActivity)
CacheMetadata(ActivityMetadata)

Não implementado. Use o CacheMetadata(NativeActivityMetadata) método em vez disso.

(Herdado de NativeActivity)
CacheMetadata(NativeActivityMetadata)

Cria e valida uma descrição dos argumentos, variáveis, atividades filhos e delegados de atividade da atividade.

(Herdado de NativeActivity)
Cancel(NativeActivityContext)

Quando implementado numa classe derivada, executa lógica para garantir uma conclusão precoce e graciosa da atividade.

(Herdado de NativeActivity)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Execute(NativeActivityContext)

Quando implementado numa classe derivada, executa a lógica de execução da atividade.

(Herdado de NativeActivity)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Abre um evento ao criar um mapa para a atualização dinâmica.

(Herdado de NativeActivity)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Abre um evento ao criar um mapa para a atualização dinâmica.

(Herdado de NativeActivity)
ShouldSerializeDisplayName()

Indica se a DisplayName propriedade deve ser serializada.

(Herdado de Activity)
ToString()

Devolve um String que contém o Id e DisplayName do Activity.

(Herdado de Activity)
UpdateInstance(NativeActivityUpdateContext)

Atualiza a instância de NativeActivity.

(Herdado de NativeActivity)

Aplica-se a