CorrelationScope 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.
Fornece gerenciamento implícito de CorrelationHandle para atividades de mensagens filho.
public ref class CorrelationScope : System::Activities::NativeActivity
public class CorrelationScope : System.Activities.NativeActivity
type CorrelationScope = class
inherit NativeActivity
Public Class CorrelationScope
Inherits NativeActivity
- Herança
Exemplos
O exemplo a seguir mostra como criar um CorrelationScope. Este exemplo cria um Sequence e adiciona um CorrelationScope (entre outras atividades). O CorrelationScope contém um Sequence que é composto por uma atividade eReceiveReply.Send
return new Sequence
{
Variables = { po, customer },
Activities =
{
new Assign<PurchaseOrder>
{
To = po,
Value = new InArgument<PurchaseOrder>( (e) => new PurchaseOrder() { PartName = "Widget", Quantity = 150 } )
},
new Assign<Customer>
{
To = customer,
Value = new InArgument<Customer>( (e) => new Customer() { Id = 12345678, Name = "John Smith" } )
},
new WriteLine { Text = new InArgument<string>( (e) => string.Format("Submitting new PurchaseOrder for {0} {1}s", po.Get(e).Quantity, po.Get(e).PartName) ) },
new CorrelationScope
{
Body = new Sequence
{
Activities =
{
submitPO,
new ReceiveReply
{
Request = submitPO,
Content = ReceiveContent.Create(new OutArgument<int>( (e) => po.Get(e).Id ))
}
}
}
},
new WriteLine { Text = new InArgument<string>( (e) => string.Format("Received ID for new PO: {0}", po.Get(e).Id) ) },
new Assign<int> { To = new OutArgument<int>( (e) => po.Get(e).Quantity ), Value = 250 },
new WriteLine { Text = "Updated PO with new quantity: 250. Resubmitting updated PurchaseOrder based on POId." },
new Send
{
Endpoint = clientEndpoint,
ServiceContractName = Constants.POContractName,
OperationName = Constants.UpdatePOName,
Content = SendContent.Create(new InArgument<PurchaseOrder>(po))
},
new Assign<int>
{
To = new OutArgument<int>( (e) => po.Get(e).CustomerId ),
Value = new InArgument<int>( (e) => customer.Get(e).Id )
},
new WriteLine { Text = "Updating customer data based on CustomerId." },
new Send
{
Endpoint = clientEndpoint,
ServiceContractName = Constants.POContractName,
OperationName = Constants.AddCustomerInfoName,
Content = SendContent.Create(new InArgument<PurchaseOrder>(po))
},
new Send
{
Endpoint = clientEndpoint,
ServiceContractName = Constants.POContractName,
OperationName = Constants.UpdateCustomerName,
Content = SendContent.Create(new InArgument<Customer>(customer))
},
new WriteLine { Text = "Client completed." }
}
};
Comentários
A CorrelationScope atividade mantém um implícito CorrelationHandle que só é visível para atividades filho. Quando a CorrelatesWith propriedade for definida pelo usuário, ela será usada como o CorrelationScope identificador implícito. No caso de aninhados CorrelationScope, os filhos do escopo interno não podem acessar o identificador implícito do escopo externo.
Construtores
CorrelationScope() |
Inicializa uma nova instância da classe CorrelationScope. |
Propriedades
Body |
Obtém ou define a lógica de execução da 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) |
CorrelatesWith |
Obtém ou define o CorrelationHandle usado pelas atividades de mensagens filho. |
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) |
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 delegados de atividade da atividade. |
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) |
Chamado pelo runtime de fluxo de trabalho para executar a atividade CorrelationScope. |
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) |
ShouldSerializeCorrelatesWith() |
Indica se a propriedade CorrelatesWith deve ser serializada. |
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) |