CorrelationScope Classe

Definição

Fornece gestão implícita CorrelationHandle para atividades de mensagens crianças.

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 seguinte mostra como criar um CorrelationScope. Este exemplo cria um Sequence e acrescenta um CorrelationScope (entre outras atividades). O CorrelationScope contém um Sequence que é composto por uma Send atividade e ReceiveReply .

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

Observações

A CorrelationScope atividade mantém um implícito CorrelationHandle que só é visível para as atividades da criança. Quando a CorrelatesWith propriedade é definida pelo utilizador, será usada como o CorrelationScope handle implícito. No caso de aninhado CorrelationScope, os filhos do escopo interno não conseguem aceder ao handle implícito do escopo externo.

Construtores

Name Description
CorrelationScope()

Inicializa uma nova instância da CorrelationScope classe.

Propriedades

Name Description
Body

Obtém ou define a lógica de execução da 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)
CorrelatesWith

Obtém ou define as CorrelationHandle atividades de mensagens usadas pela criança.

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)

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)

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

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)

Chamado pelo tempo de execução do workflow para executar a CorrelationScope atividade.

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)
ShouldSerializeCorrelatesWith()

Indica se a CorrelatesWith propriedade deve ser serializada.

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