Compartilhar via


TransactedReceiveScope Classe

Definição

Uma atividade que tem como escopo o tempo de vida de uma transação que é iniciado por uma mensagem recebida. A transação pode ser colocada no fluxo de trabalho na mensagem de inicialização ou ser criada pelo dispatcher 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 a seguir mostra como usar a TransactedReceiveScope classe em uma 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." },
    },
};

Comentários

A TransactedReceiveScope atividade permite controlar o tempo de vida da transação fluida.

Aviso

Para uma atividade inicial TransactedReceiveScope (uma TransactedReceiveScope que contém uma Receive atividade com definido como trueCanCreateInstance ), a transação é criada antes que o runtime comece a executar a TransactedReceiveScope atividade. Essa 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 tentará persistir na transação de ambiente. Esse comportamento causa um bloco até que a transação seja concluída. Como a execução do fluxo de trabalho não chegou à Body seção, a transação não pode ser concluída. Esse deadlock faz com que o fluxo de trabalho pare de responder até que a transação se esvaia. Quando a transação atinge o tempo limite, a instância recém-criada é anulada.

Importante

Sempre que você usa um TransactedReceiveScope , é recomendável colocar todos os Recebimentos no fluxo de trabalho dentro TransactedReceiveScope das atividades.

Importante

Ao usar TransactedReceiveScope e as mensagens chegarem na ordem incorreta, o fluxo de trabalho será anulado ao tentar entregar a primeira mensagem fora de ordem. Você deve verificar se o fluxo de trabalho está sempre em um ponto de parada consistente quando o fluxo de trabalho está ocioso. Isso permitirá que você reinicie o fluxo de trabalho de um ponto de persistência anterior caso o fluxo de trabalho seja anulado.

Construtores

TransactedReceiveScope()

Inicializa uma nova instância da classe TransactedReceiveScope.

Propriedades

Body

Obtém ou define o Activity que compõe o corpo do TransactedReceiveScope atividade.

CacheId

Obtém um identificador do cache que é exclusivo no escopo da definição do fluxo de trabalho.

(Herdado de Activity)
CanInduceIdle

Obtém ou define um valor que indica se a atividade pode fazer com que o fluxo de trabalho fique ocioso.

(Herdado de NativeActivity)
Constraints

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

(Herdado de Activity)
DisplayName

Obtém ou define um nome amigável opcional que é usado para depuração, validação, manipulação de exceções e acompanhamento.

(Herdado de Activity)
Id

Obtém um identificador que é exclusivo no escopo da definição do fluxo de trabalho.

(Herdado de Activity)
Implementation

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

(Herdado de NativeActivity)
ImplementationVersion

Obtém ou define a versão de implementação da atividade.

(Herdado de NativeActivity)
Request

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

Variables

Obtém a coleção de Variable associado a esta TransactedReceiveScope.

Métodos

Abort(NativeActivityAbortContext)

Quando implementado em uma classe derivada, executa ações em resposta à atividade que está sendo anulada.

(Herdado de NativeActivity)
CacheMetadata(ActivityMetadata)

Não implementado. Use o método CacheMetadata(NativeActivityMetadata) em seu lugar.

(Herdado de NativeActivity)
CacheMetadata(NativeActivityMetadata)

Cria e valida uma descrição dos argumentos, das variáveis, das atividades filho e dos representantes da atividade.

(Herdado de NativeActivity)
Cancel(NativeActivityContext)

Quando implementado em uma classe derivada, executa a lógica para causar a conclusão antecipada normal da atividade.

(Herdado de NativeActivity)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Execute(NativeActivityContext)

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

(Herdado de NativeActivity)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Gera um evento durante a criação de um mapa para a atualização dinâmica.

(Herdado de NativeActivity)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Gera um evento durante a criação de um mapa para a atualização dinâmica.

(Herdado de NativeActivity)
ShouldSerializeDisplayName()

Indica se a propriedade DisplayName deve ser serializada.

(Herdado de Activity)
ToString()

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

(Herdado de Activity)
UpdateInstance(NativeActivityUpdateContext)

Atualiza a instância da NativeActivity.

(Herdado de NativeActivity)

Aplica-se a