Partilhar via


Usando contratos no fluxo de trabalho

Ao implementar um serviço, você define vários contratos que descrevem o serviço e os dados que ele envia e recebe. Os dados são representados como contratos de dados e contratos de mensagens; o WCF e os serviços de fluxo de trabalho usam definições de contrato de dados e contrato de mensagem como parte das descrições de serviço. O próprio serviço expõe metadados (na forma de WSDL) para descrever as operações do serviço. No WCF, os contratos de serviço e os contratos de operação definem o serviço e as operações que ele suporta. No entanto, em um serviço de fluxo de trabalho, esses contratos fazem parte do próprio processo de negócios; eles são expostos em metadados por um processo chamado inferência de contrato.

Inferência de Contratos

Quando um serviço de fluxo de trabalho é hospedado usando WorkflowServiceHosto , a definição do fluxo de trabalho é examinada e um contrato é gerado com base no conjunto de atividades de mensagens encontradas no fluxo de trabalho. Em particular, as seguintes atividades e propriedades são usadas para gerar o contrato:

Receive Atividade

SendReply Atividade

TransactedReceiveScope Atividade

O resultado final da inferência de contrato é uma descrição do serviço usando as mesmas estruturas de dados que os contratos de serviço e operação do WCF. Essas informações são usadas para expor WSDL para o serviço de fluxo de trabalho.

Consulte também