Partilhar via


Acessando OperationContext

O exemplo AccessingOperationContext demonstra como as atividades de mensagens (Receive e Send) podem ser usadas com uma atividade de escopo personalizada para acessar Current e anexar ou recuperar um cabeçalho de mensagem personalizado em uma mensagem de entrada ou de saída.

Demonstra

Atividades de mensagens, ISendMessageCallback, IReceiveMessageCallback.

Debate

Este exemplo mostra como usar pontos de extensibilidade (ISendMessageCallback) IReceiveMessageCallback) nas atividades de mensagens para acessar Currento . Os retornos de chamada são registrados dentro do tempo de execução do fluxo de trabalho como uma implementação que é captada pelas atividades de IExecutionProperty mensagens durante a execução. Qualquer atividade de mensagens no mesmo escopo dessa IExecutionProperty implementação é afetada. Em particular, este exemplo usa uma atividade de escopo personalizada para impor o comportamento de retorno de chamada. O ISendMessageCallback é usado no fluxo de trabalho do cliente para incluir o fluxo de Id trabalho como uma saída MessageHeader. Esse cabeçalho é então coletado no serviço usando o e o IReceiveMessageCallback valor do cabeçalho é impresso no console.

Configurar, compilar e executar o exemplo

  1. Este exemplo expõe um serviço de fluxo de trabalho usando pontos de extremidade HTTP. Para executar este exemplo, ACLs de URL adequadas devem ser adicionadas (consulte Configurando HTTP e HTTPS para obter detalhes), executando o Visual Studio como Administrador ou executando o seguinte comando em um prompt elevado para adicionar as ACLs apropriadas. Certifique-se de que o seu Domínio e Nome de Utilizador estão substituídos.

    netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%
    
  2. Depois que as ACLs de URL forem adicionadas, use as etapas a seguir.

    1. Compile a solução.

    2. Defina vários projetos de inicialização clicando com o botão direito do mouse na solução e selecionando Definir projetos de inicialização.

    3. Adicione Serviço e Cliente (nessa ordem) como vários projetos de inicialização.

    4. Execute a aplicação. O console do cliente mostra um fluxo de trabalho em execução duas vezes e a janela Serviço mostra a ID da instância desses fluxos de trabalho.