TransactedReceiveScope Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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 true
CanCreateInstance ), 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) |