Documentatie
-
What Are the WCF Adapters? - BizTalk Server
Learn more about: What Are the WCF Adapters?
Deze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
WorkflowServiceHost biedt een host voor werkstroomservices. Het is verantwoordelijk voor het luisteren naar binnenkomende berichten en het doorsturen naar de juiste instantie van de werkstroomservice. Het regelt het afsluiten en bewaren van stille werkstromen, en nog veel meer. In dit onderwerp wordt beschreven hoe WorkflowServiceHost binnenkomende berichten verwerkt.
De WorkflowServiceHost klasse wordt gebruikt voor het hosten van werkstroomservices. Het luistert naar binnenkomende berichten en stuurt deze naar het juiste service-exemplaar, maakt nieuwe exemplaren of laadt bestaande exemplaren van duurzame opslag indien nodig. In het volgende diagram ziet u op hoofdlijnen hoe WorkflowServiceHost werkt:
In dit diagram ziet u dat WorkflowServiceHost werkstroomservicedefinities uit .xamlx-bestanden worden geladen en configuratiegegevens uit een configuratiebestand worden geladen. Ook wordt de traceringsconfiguratie vanuit het traceringsprofiel geladen. WorkflowServiceHost maakt een eindpunt voor werkstroombeheer beschikbaar waarmee u besturingsbewerkingen naar werkstroomexemplaren kunt verzenden. Zie het voorbeeld van het eindpunt voor werkstroombeheer voor meer informatie.
WorkflowServiceHost maakt ook toepassingseindpunten beschikbaar die luisteren naar binnenkomende toepassingsberichten. Wanneer een binnenkomend bericht binnenkomt, wordt het verzonden naar het juiste werkstroomservice-exemplaar (als het momenteel is geladen). Indien nodig wordt er een nieuw werkstroomexemplaar gemaakt. Of als een bestaand exemplaar is behouden, wordt het geladen vanuit het persistentiearchief.
In het volgende diagram ziet u hoe WorkflowServiceHost berichten in iets meer detail worden verwerkt:
In dit diagram ziet u drie verschillende eindpunten, een toepassingseindpunt, een eindpunt voor werkstroombeheer en een eindpunt voor het hosten van werkstromen. Het eindpunt van de applicatie ontvangt berichten die zijn gebonden aan een specifieke workflow instantie. Het eindpunt voor werkstroombeheer luistert naar besturingsbewerkingen. Het hosteindpunt van de werkstroom luistert naar berichten die ervoor zorgen dat WorkflowServiceHost niet-service-werkstromen worden geladen en uitgevoerd. Zoals in het diagram wordt weergegeven, worden alle berichten verwerkt via de WCF-runtime. Het vertragen van workflowservice-instanties wordt bereikt met behulp van de MaxConcurrentInstances eigenschap. Met deze eigenschap wordt het aantal gelijktijdige werkstroomservice-exemplaren beperkt. Wanneer deze drempel wordt overschreden, worden alle extra aanvragen voor nieuwe werkstroomservice-exemplaren of aanvragen voor het activeren van bewaarde werkstroomexemplaren in de wachtrij geplaatst. De aanvragen in de wachtrij worden verwerkt in FIFO-volgorde, ongeacht of het aanvragen zijn voor een nieuw exemplaar of een actief, persistent exemplaar. Informatie over hostbeleid wordt geladen waarmee wordt bepaald hoe niet-verwerkte uitzonderingen worden behandeld en hoe niet-actieve werkstroomservices worden beëindigd en bewaard. Voor meer informatie over deze onderwerpen zie How to: Configure Workflow Unhandled Exception Behavior with WorkflowServiceHost en How to: Configure Idle Behavior with WorkflowServiceHost. Workflowinstanties worden opgeslagen volgens het hostbeleid en worden opnieuw geladen wanneer nodig. Zie voor meer informatie over werkstroompersistentie: Persistentie configureren met WorkflowServiceHost, Een langlopende werkstroomservice maken en werkstroompersistentie.
In de volgende afbeelding ziet u de stroom wanneer WorkflowServiceHost.Open wordt aangeroepen:
De werkstroom wordt geladen vanuit XAML en de activiteitenstructuur wordt gemaakt. WorkflowServiceHost doorloopt de activiteitenstructuur en maakt de servicebeschrijving. De configuratie wordt toegepast op de host. Ten slotte begint de host te luisteren naar binnenkomende berichten.
In de volgende afbeelding ziet u wat de WorkflowServiceHost doet wanneer er een bericht wordt ontvangen dat bestemd is voor een ontvangstactiviteit met CanCreateInstance ingesteld op true
.
Het bericht komt binnen en wordt verwerkt door de WCF-kanaalstack. Regelaars worden gecontroleerd en correlatiequery's worden uitgevoerd. Als het bericht bestemd is voor een bestaand exemplaar, wordt het bericht bezorgd. Als er een nieuw exemplaar moet worden gemaakt, wordt de eigenschap CanCreateInstance van de activiteit Ontvangen ingeschakeld. Als deze is ingesteld op true, wordt er een nieuw exemplaar gemaakt en wordt het bericht bezorgd.
In de volgende afbeelding ziet u wat het WorkflowServiceHost doet wanneer er een bericht wordt ontvangen dat is gebonden aan een ontvangstactiviteit waarvoor CanCreateInstance is ingesteld op false.
Het bericht komt binnen en wordt verwerkt door de WCF-kanaalstack. Regelaars worden gecontroleerd en correlatiequery's worden uitgevoerd. Het bericht is gebonden aan een bestaand exemplaar (omdat CanCreateInstance onwaar is), zodat het exemplaar wordt geladen vanuit het persistentiearchief, de bladwijzer wordt hervat en de werkstroom wordt uitgevoerd.
Waarschuwing
Workflowservicehost kan niet worden geopend als SQL Server is geconfigureerd om uitsluitend te luisteren via het NamedPipe-protocol.
Documentatie
What Are the WCF Adapters? - BizTalk Server
Learn more about: What Are the WCF Adapters?
Training
Module
Communicatiewerkstromen op basis van berichten implementeren met Azure Service Bus - Training
Ontdek hoe u code schrijft in .NET-toepassingen met behulp van Azure Service Bus voor communicatie die grote vraag, lage bandbreedte en hardwarefouten kan verwerken.