Verwenden von Verträgen im WorkflowUsing Contracts in Workflow

Beim Implementieren eines Diensts definieren Sie eine Reihe von Verträgen, in denen der Dienst und die von ihm gesendeten und empfangenen Daten beschrieben werden.When implementing a service, you define a number of contracts that describe the service and the data that it sends and receives. Die Daten werden als Datenverträge und Nachrichtenverträge dargestellt; WCF und Workflowdiensten verwenden Datenvertrags- und nachrichtenvertragsdefinitionen als Teil Ihrer dienstbeschreibungen.The data is represented as data contracts and message contracts; both WCF and workflow services use data contract and message contract definitions as part of service descriptions. Der Dienst selbst macht Metadaten (im WSDL-Format) verfügbar, um die Vorgänge des Diensts zu beschreiben.The service itself exposes metadata (in the form of WSDL) in order to describe the operations of the service. Bei WCF definieren Dienst- und Vorgangsverträge den Dienst und seine unterstützten Vorgänge.In WCF, service contracts and operation contracts define the service and the operations it supports. In einem Workflowdienst sind diese Verträge jedoch Teil des eigentlichen Geschäftsprozesses. Sie werden in den Metadaten von einem Prozess verfügbar gemacht, der als Vertragsrückschluss bezeichnet wird.However, in a workflow service, these contracts are part of the business process itself; they are exposed in metadata by a process called contract inference.

VertragsrückschlussContract Inference

Wenn ein Workflowdienst mit WorkflowServiceHost gehostet wird, wird die Workflowdefinition untersucht, und basierend auf den im Workflow gefundenen Messagingaktivitäten wird ein Vertrag generiert.When a workflow service is hosted using WorkflowServiceHost, the workflow definition is examined and a contract is generated based on the set of messaging activities found in the workflow. Zum Generieren des Vertrags werden insbesondere die folgenden Aktivitäten und Eigenschaften verwendet:In particular the following activities and properties are used to generate the contract:

Receive-AktivitätReceive Activity

SendReply-AktivitätSendReply Activity

TransactedReceiveScope-AktivitätTransactedReceiveScope Activity

Das Endergebnis des Vertragsrückschlusses ist eine Beschreibung des Diensts, bei der die gleichen Datenstrukturen wie für WCF-Dienstverträge und -Vorgangsverträge verwendet werden.The end result of contract inference is a description of the service using the same data structures as WCF service and operation contracts. Diese Informationen werden dann verwendet, um WSDL für den Workflowdienst verfügbar zu machen.This information is then used to expose WSDL for the workflow service.

Siehe auchSee Also

WorkflowdiensteWorkflow Services
MessagingaktivitätenMessaging Activities
Vorgehensweise: Erstellen eines Workflowdiensts mit MessagingaktivitätenHow to: Create a Workflow Service with Messaging Activities
Vorgehensweise: Erstellen eines Workflowdiensts zum Verarbeiten eines vorhandenen DienstvertragsHow to: Create a workflow service that consumes an existing service contract