Używanie kontraktów w przepływie pracy
Podczas implementowania usługi definiuje się wiele kontraktów opisujących usługę i dane, które wysyła i odbiera. Dane są reprezentowane jako kontrakty danych i kontrakty komunikatów; zarówno WCF, jak i usługi przepływu pracy używają definicji kontraktu danych i kontraktu komunikatów w ramach opisów usług. Sama usługa uwidacznia metadane (w postaci WSDL) w celu opisania operacji usługi. W programie WCF kontrakty usług i kontrakty operacyjne definiują usługę i obsługiwane przez nią operacje. Jednak w usłudze przepływu pracy te kontrakty są częścią samego procesu biznesowego; są one uwidacznione w metadanych przez proces nazywany wnioskowaniem kontraktu.
Wnioskowanie kontraktu
Gdy usługa przepływu pracy jest hostowana przy użyciu WorkflowServiceHostmetody , definicja przepływu pracy jest badana i jest generowana na podstawie zestawu działań obsługi komunikatów znalezionych w przepływie pracy. W szczególności następujące działania i właściwości są używane do generowania kontraktu:
Receive Działania
SendReply Działania
TransactedReceiveScope Działania
Wynikiem końcowym wnioskowania kontraktu jest opis usługi używającej tych samych struktur danych co kontrakty usług i operacji WCF. Te informacje są następnie używane do uwidaczniania WSDL dla usługi przepływu pracy.