Compartilhar via


Correlação de consulta de mensagem LINQ

O exemplo LinqMessageQueryCorrelation demonstra como fazer correlação baseada em conteúdo usando uma implementação MessageQuery personalizada em oposição à XPathMessageQuery fornecida pelo sistema.

Demonstra

MessageQuerypersonalizado, correlação conteudo base.

Discussão

Este exemplo mostra como estender a classe base de MessageQuery para fins de correlação. A implementação personalizada, LinqMessageQuery, permite que os usuários forneçam um XName para localizar dentro de mensagem usando XLinq. Os dados recuperados pela consulta são usados para formar a chave de correlação para distribuir mensagens à instância apropriado de fluxo de trabalho.

Para configurar, compilar, e executar o exemplo

  1. Este exemplo exibe um serviço de fluxo de trabalho usando pontos de extremidade HTTP. Para executar este exemplo, o URL apropriado ACLs deve ser adicionado (consulte Configurando HTTP e HTTPS para obter detalhes), executando Visual Studio com o administrador ou executando o seguinte comando em um aviso alto adicionar as ACLs apropriado. Certifique-se de que seu domínio e nome de usuário são substituídos.

    netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%
    
  2. Uma vez que o URL ACLs é adicionado, use as seguintes etapas.

    1. Compile a solução.

    2. Definir múltiplas começam anterior projetos clique com o botão direito do mouse Solução e selecionando Definir projetos de inicialização. Adicione Serviço e Cliente (nessa ordem) como vários projetos inicialização.

    3. Executar o aplicativo. O console de cliente mostra um fluxo de trabalho que envia um pedido e que recebe a identificação de ordem de compra e então confirma posteriormente ordem. A janela de serviço (as solicitações que estão sendo processadas.