Dela via


Använda kontrakt i arbetsflöde

När du implementerar en tjänst definierar du ett antal kontrakt som beskriver tjänsten och de data som den skickar och tar emot. Data representeras som datakontrakt och meddelandekontrakt. både WCF- och arbetsflödestjänster använder definitioner av datakontrakt och meddelandekontrakt som en del av tjänstbeskrivningar. Själva tjänsten exponerar metadata (i form av WSDL) för att beskriva tjänstens åtgärder. I WCF definierar tjänstkontrakt och åtgärdskontrakt tjänsten och de åtgärder som den stöder. Men i en arbetsflödestjänst ingår dessa kontrakt i själva affärsprocessen. de exponeras i metadata av en process som kallas kontraktsinferens.

Kontraktsslutsats

När en arbetsflödestjänst hanteras med hjälp av WorkflowServiceHostgranskas arbetsflödesdefinitionen och ett kontrakt genereras baserat på den uppsättning meddelandeaktiviteter som finns i arbetsflödet. I synnerhet används följande aktiviteter och egenskaper för att generera kontraktet:

Receive Aktivitet

SendReply Aktivitet

TransactedReceiveScope Aktivitet

Slutresultatet av kontraktsinferens är en beskrivning av tjänsten med samma datastrukturer som WCF-tjänst- och åtgärdskontrakt. Den här informationen används sedan för att exponera WSDL för arbetsflödestjänsten.

Se även