Delen via


Opties voor werkstroomhosting

De meeste WF-voorbeelden (Windows Workflow Foundation) gebruiken werkstromen die worden gehost in een consoletoepassing, maar dit is geen realistisch scenario voor echte werkstromen. Werkstromen in werkelijke zakelijke toepassingen worden gehost in permanente processen: een Windows-service die is gemaakt door de ontwikkelaar of een servertoepassing zoals IIS 7.0 of AppFabric. De verschillen tussen deze benaderingen zijn als volgt.

Werkstromen hosten in IIS met Windows AppFabric

Het gebruik van IIS met AppFabric is de voorkeurshost voor werkstromen. De hosttoepassing voor werkstromen met Behulp van AppFabric is Windows Activation Service, waardoor de afhankelijkheid van HTTP via IIS alleen wordt verwijderd.

Werkstromen hosten in IIS alleen

Het gebruik van IIS 7.0 wordt niet aanbevolen, omdat er beheer- en bewakingshulpprogramma's beschikbaar zijn met AppFabric die het onderhoud van actieve toepassingen vergemakkelijken. Werkstromen mogen alleen worden gehost in IIS 7.0 als er problemen zijn met de overstap naar AppFabric.

Waarschuwing

IIS 7.0 recyclet regelmatig toepassingsgroepen om verschillende redenen. Wanneer een groep toepassingen wordt gerecycled, accepteert IIS geen berichten meer naar de oude groep en wordt er een nieuwe groep toepassingen geïnstitueert om nieuwe aanvragen te accepteren. Als een werkstroom blijft werken na het verzenden van een antwoord, is IIS 7.0 niet op de hoogte van het werk dat wordt uitgevoerd en kan de groep van hostingtoepassingen worden gerecycled. Als dit gebeurt, wordt de werkstroom afgebroken en worden bijgehouden services een bericht van 1004 - WorkflowInstanceAborted met een leeg redenveld vastgelegd .

Als persistentie wordt gebruikt, moet de host de afgebroken exemplaren expliciet opnieuw opstarten vanaf het laatste persistentiepunt.

Als AppFabric wordt gebruikt, wordt de werkstroombeheerservice uiteindelijk hervat vanaf het laatste geslaagde persistentiepunt als persistentie wordt gebruikt. Als er geen persistentie wordt gebruikt en de werkstroom bewerkingen uitvoert buiten een aanvraag-/antwoordpatroon, gaan gegevens verloren wanneer de werkstroom wordt afgebroken.

Een werkstroom hosten in een aangepaste Windows-service

Voor het maken van een aangepaste werkstroomservice voor het hosten van de werkstroom moet de ontwikkelaar veel van de functionaliteit van AppFabric dupliceren, maar biedt meer flexibiliteit met aangepaste functionaliteit. Deze optie moet alleen worden overwogen als AppFabric geen optie blijkt te zijn.