Možnosti hostování pracovního postupu
Většina ukázek WF (Windows Workflow Foundation) používá pracovní postupy hostované v konzolové aplikaci, nejedná se ale o realistický scénář pro reálné pracovní postupy. Pracovní postupy ve skutečných obchodních aplikacích se budou hostovat v trvalých procesech – buď ve službě Windows vytvořené vývojářem, nebo v serverové aplikaci, jako je služba IIS 7.0 nebo AppFabric. Rozdíly mezi těmito přístupy jsou následující.
Hostování pracovních postupů ve službě IIS pomocí technologie Windows AppFabric
Použití služby IIS se službou AppFabric je upřednostňovaným hostitelem pracovních postupů. Hostitelská aplikace pro pracovní postupy používající AppFabric je Služba aktivace systému Windows, která odebere závislost na protokolu HTTP prostřednictvím samotné služby IIS.
Hostování pracovních postupů v samostatné službě IIS
Použití služby IIS 7.0 se nedoporučuje, protože pro AppFabric jsou k dispozici nástroje pro správu a monitorování, které usnadňují údržbu spuštěných aplikací. Pracovní postupy by se měly hostovat jenom ve službě IIS 7.0, pokud se jedná o infrastrukturu související s přechodem na AppFabric.
Upozorňující
Služba IIS 7.0 pravidelně recykluje fondy aplikací z různých důvodů. Když je fond aplikací recyklován, služba IIS přestane přijímat zprávy do starého fondu a vytvoří instanci nového fondu aplikací, aby přijímala nové žádosti. Pokud pracovní postup po odeslání odpovědi pokračuje v práci, služba IIS 7.0 nebude vědět o provedené práci a může recyklovat fond hostitelských aplikací. Pokud k tomu dojde, pracovní postup se přeruší a sledovací služby zaznamenají zprávu 1004 – WorkflowInstanceAborted s prázdným polem Důvod.
Pokud se používá trvalost, musí hostitel explicitně restartovat přerušené instance z posledního bodu trvalosti.
Pokud se použije AppFabric, služba správy pracovních postupů nakonec obnoví pracovní postup z posledního úspěšného bodu trvalosti, pokud se použije trvalost. Pokud se nepoužívá žádná trvalost a pracovní postup provádí operace mimo vzor žádosti a odpovědi, při přerušení pracovního postupu budou data ztracena.
Hostování pracovního postupu ve vlastní službě Windows
Vytvoření vlastní služby pracovního postupu pro hostování pracovního postupu bude vyžadovat, aby vývojář duplikuje spoustu funkcí poskytovaných technologií AppFabric, ale umožní větší flexibilitu s vlastními funkcemi. Tato možnost by měla být považována pouze za předpokladu, že AppFabric není možností.