Munkafolyamat-üzemeltetési beállítások

A Windows Workflow Foundation (WF) mintáinak többsége konzolalkalmazásban üzemeltetett munkafolyamatokat használ, de ez nem reális forgatókönyv a valós munkafolyamatokhoz. A tényleges üzleti alkalmazások munkafolyamatai állandó folyamatokban lesznek üzemeltetve, például a fejlesztő által létrehozott Windows-szolgáltatásban, vagy egy kiszolgálóalkalmazásban, például az IIS 7.0-ban vagy az AppFabric-ban. E megközelítések közötti különbségek a következők.

Munkafolyamatok üzemeltetése az IIS-ben a Windows AppFabric használatával

Az IIS és az AppFabric mint gazdagép használata a munkafolyamatokhoz a preferált választás. Az AppFabric-t használó munkafolyamatok gazdaalkalmazása a Windows Aktiválási szolgáltatás, amely csak az IIS-en keresztül távolítja el a HTTP-függőséget.

Munkafolyamatok üzemeltetése egyedül az IIS-ben

Az IIS 7.0 használata önmagában nem ajánlott, mivel az AppFabric szolgáltatással elérhető felügyeleti és monitorozási eszközök megkönnyítik a futó alkalmazások karbantartását. A munkafolyamatokat csak az IIS 7.0-s verzióban szabad üzemeltetni, ha infrastruktúra-problémák merülnek fel az AppFabricra való áttéréssel kapcsolatban.

Figyelmeztetés

Az IIS 7.0 különböző okokból rendszeresen újrahasznosítja az alkalmazáskészleteket. Amikor egy alkalmazáskészletet újrafeldolgoznak, az IIS nem fogadja el az üzeneteket a régi készletbe, és új alkalmazáskészletet hoz létre az új kérések elfogadásához. Ha egy munkafolyamat a válasz elküldése után is működik, az IIS 7.0 nem fog tudni a elvégzett munkáról, és újra felhasználhatja az üzemeltetési alkalmazáskészletet. Ha ez történik, a munkafolyamat megszakad, és a nyomkövetési szolgáltatások egy 1004 - WorkflowInstanceAborted üzenetet rögzítenek egy üres Ok mezővel.

Az adatmegőrzés használata esetén a gazdagépnek explicit módon újra kell indítania a megszakított példányokat az utolsó adatmegőrzési pontról.

Az AppFabric használata esetén a munkafolyamat-felügyeleti szolgáltatás végül az utolsó sikeres adatmegőrzési pontról folytatja a munkafolyamatot, ha az adatmegőrzést használja. Ha nem használ adatmegőrzést, és a munkafolyamat a kérés-válasz mintán kívül hajt végre műveleteket, az adatok elvesznek, amikor a munkafolyamat megszakad.

Munkafolyamat üzemeltetése egyéni Windows-szolgáltatásban

Ha egyéni munkafolyamat-szolgáltatást hoz létre a munkafolyamat üzemeltetéséhez, a fejlesztőnek meg kell duplikálnia az AppFabric által biztosított funkciók nagy részét, de nagyobb rugalmasságot tesz lehetővé az egyéni funkciókkal. Ezt a lehetőséget csak akkor érdemes figyelembe venni, ha az AppFabric nem bizonyul lehetőségnek.