Compartilhar via


CorrelationScope Classe

Definição

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
CorrelationScope

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)

Aplica-se a