Table Of ContentPro WF
Windows Workflow in .NET 4
■ ■ ■
Bruce Bukovics
(cid:0)
Pro WF: Windows Workflow in .NET 4
(cid:35)(cid:79)(cid:80)(cid:89)(cid:82)(cid:73)(cid:71)(cid:72)(cid:84)(cid:0)(cid:218)(cid:0)(cid:18)(cid:16)(cid:17)(cid:16)(cid:0)(cid:66)(cid:89)(cid:0)(cid:34)(cid:82)(cid:85)(cid:67)(cid:69)(cid:0)(cid:34)(cid:85)(cid:75)(cid:79)(cid:86)(cid:73)(cid:67)(cid:83)(cid:0)
(cid:33)(cid:76)(cid:76)(cid:0)(cid:82)(cid:73)(cid:71)(cid:72)(cid:84)(cid:83)(cid:0)(cid:82)(cid:69)(cid:83)(cid:69)(cid:82)(cid:86)(cid:69)(cid:68)(cid:14)(cid:0)(cid:46)(cid:79)(cid:0)(cid:80)(cid:65)(cid:82)(cid:84)(cid:0)(cid:79)(cid:70)(cid:0)(cid:84)(cid:72)(cid:73)(cid:83)(cid:0)(cid:87)(cid:79)(cid:82)(cid:75)(cid:0)(cid:77)(cid:65)(cid:89)(cid:0)(cid:66)(cid:69)(cid:0)(cid:82)(cid:69)(cid:80)(cid:82)(cid:79)(cid:68)(cid:85)(cid:67)(cid:69)(cid:68)(cid:0)(cid:79)(cid:82)(cid:0)(cid:84)(cid:82)(cid:65)(cid:78)(cid:83)(cid:77)(cid:73)(cid:84)(cid:84)(cid:69)(cid:68)(cid:0)(cid:73)(cid:78)(cid:0)(cid:65)(cid:78)(cid:89)(cid:0)(cid:70)(cid:79)(cid:82)(cid:77)(cid:0)(cid:79)(cid:82)(cid:0)(cid:66)(cid:89)(cid:0)(cid:65)(cid:78)(cid:89)(cid:0)(cid:77)(cid:69)(cid:65)(cid:78)(cid:83)(cid:12)(cid:0)
(cid:69)(cid:76)(cid:69)(cid:67)(cid:84)(cid:82)(cid:79)(cid:78)(cid:73)(cid:67)(cid:0)(cid:79)(cid:82)(cid:0)(cid:77)(cid:69)(cid:67)(cid:72)(cid:65)(cid:78)(cid:73)(cid:67)(cid:65)(cid:76)(cid:12)(cid:0)(cid:73)(cid:78)(cid:67)(cid:76)(cid:85)(cid:68)(cid:73)(cid:78)(cid:71)(cid:0)(cid:80)(cid:72)(cid:79)(cid:84)(cid:79)(cid:67)(cid:79)(cid:80)(cid:89)(cid:73)(cid:78)(cid:71)(cid:12)(cid:0)(cid:82)(cid:69)(cid:67)(cid:79)(cid:82)(cid:68)(cid:73)(cid:78)(cid:71)(cid:12)(cid:0)(cid:79)(cid:82)(cid:0)(cid:66)(cid:89)(cid:0)(cid:65)(cid:78)(cid:89)(cid:0)(cid:73)(cid:78)(cid:70)(cid:79)(cid:82)(cid:77)(cid:65)(cid:84)(cid:73)(cid:79)(cid:78)(cid:0)(cid:83)(cid:84)(cid:79)(cid:82)(cid:65)(cid:71)(cid:69)(cid:0)(cid:79)(cid:82)(cid:0)(cid:82)(cid:69)(cid:84)(cid:82)(cid:73)(cid:69)(cid:86)(cid:65)(cid:76)(cid:0)
(cid:83)(cid:89)(cid:83)(cid:84)(cid:69)(cid:77)(cid:12)(cid:0)(cid:87)(cid:73)(cid:84)(cid:72)(cid:79)(cid:85)(cid:84)(cid:0)(cid:84)(cid:72)(cid:69)(cid:0)(cid:80)(cid:82)(cid:73)(cid:79)(cid:82)(cid:0)(cid:87)(cid:82)(cid:73)(cid:84)(cid:84)(cid:69)(cid:78)(cid:0)(cid:80)(cid:69)(cid:82)(cid:77)(cid:73)(cid:83)(cid:83)(cid:73)(cid:79)(cid:78)(cid:0)(cid:79)(cid:70)(cid:0)(cid:84)(cid:72)(cid:69)(cid:0)(cid:67)(cid:79)(cid:80)(cid:89)(cid:82)(cid:73)(cid:71)(cid:72)(cid:84)(cid:0)(cid:79)(cid:87)(cid:78)(cid:69)(cid:82)(cid:0)(cid:65)(cid:78)(cid:68)(cid:0)(cid:84)(cid:72)(cid:69)(cid:0)(cid:80)(cid:85)(cid:66)(cid:76)(cid:73)(cid:83)(cid:72)(cid:69)(cid:82)(cid:14)(cid:0)
(cid:41)(cid:51)(cid:34)(cid:46)(cid:0)(cid:25)(cid:23)(cid:24)(cid:13)(cid:17)(cid:13)(cid:20)(cid:19)(cid:16)(cid:18)(cid:13)(cid:18)(cid:23)(cid:18)(cid:17)(cid:13)(cid:18)(cid:0)
(cid:41)(cid:51)(cid:34)(cid:46)(cid:0)(cid:25)(cid:23)(cid:24)(cid:13)(cid:17)(cid:13)(cid:20)(cid:19)(cid:16)(cid:18)(cid:13)(cid:18)(cid:23)(cid:18)(cid:18)(cid:13)(cid:25)(cid:0)(eBook)
(cid:48)(cid:82)(cid:73)(cid:78)(cid:84)(cid:69)(cid:68)(cid:0)(cid:65)(cid:78)(cid:68)(cid:0)(cid:66)(cid:79)(cid:85)(cid:78)(cid:68)(cid:0)(cid:73)(cid:78)(cid:0)(cid:84)(cid:72)(cid:69)(cid:0)(cid:53)(cid:78)(cid:73)(cid:84)(cid:69)(cid:68)(cid:0)(cid:51)(cid:84)(cid:65)(cid:84)(cid:69)(cid:83)(cid:0)(cid:79)(cid:70)(cid:0)(cid:33)(cid:77)(cid:69)(cid:82)(cid:73)(cid:67)(cid:65)(cid:0)(cid:8)(cid:48)(cid:47)(cid:36)(cid:9)
(cid:52)(cid:82)(cid:65)(cid:68)(cid:69)(cid:77)(cid:65)(cid:82)(cid:75)(cid:69)(cid:68)(cid:0)(cid:78)(cid:65)(cid:77)(cid:69)(cid:83)(cid:12)(cid:0)(cid:76)(cid:79)(cid:71)(cid:79)(cid:83)(cid:12)(cid:0)(cid:65)(cid:78)(cid:68)(cid:0)(cid:73)(cid:77)(cid:65)(cid:71)(cid:69)(cid:83)(cid:0)(cid:77)(cid:65)(cid:89)(cid:0)(cid:65)(cid:80)(cid:80)(cid:69)(cid:65)(cid:82)(cid:0)(cid:73)(cid:78)(cid:0)(cid:84)(cid:72)(cid:73)(cid:83)(cid:0)(cid:66)(cid:79)(cid:79)(cid:75)(cid:14)(cid:0)(cid:50)(cid:65)(cid:84)(cid:72)(cid:69)(cid:82)(cid:0)(cid:84)(cid:72)(cid:65)(cid:78)(cid:0)(cid:85)(cid:83)(cid:69)(cid:0)(cid:65)(cid:0)(cid:84)(cid:82)(cid:65)(cid:68)(cid:69)(cid:77)(cid:65)(cid:82)(cid:75)(cid:0)(cid:83)(cid:89)(cid:77)(cid:66)(cid:79)(cid:76)(cid:0)
(cid:87)(cid:73)(cid:84)(cid:72)(cid:0)(cid:69)(cid:86)(cid:69)(cid:82)(cid:89)(cid:0)(cid:79)(cid:67)(cid:67)(cid:85)(cid:82)(cid:82)(cid:69)(cid:78)(cid:67)(cid:69)(cid:0)(cid:79)(cid:70)(cid:0)(cid:65)(cid:0)(cid:84)(cid:82)(cid:65)(cid:68)(cid:69)(cid:77)(cid:65)(cid:82)(cid:75)(cid:69)(cid:68)(cid:0)(cid:78)(cid:65)(cid:77)(cid:69)(cid:12)(cid:0)(cid:76)(cid:79)(cid:71)(cid:79)(cid:12)(cid:0)(cid:79)(cid:82)(cid:0)(cid:73)(cid:77)(cid:65)(cid:71)(cid:69)(cid:0)(cid:87)(cid:69)(cid:0)(cid:85)(cid:83)(cid:69)(cid:0)(cid:84)(cid:72)(cid:69)(cid:0)(cid:78)(cid:65)(cid:77)(cid:69)(cid:83)(cid:12)(cid:0)(cid:76)(cid:79)(cid:71)(cid:79)(cid:83)(cid:12)(cid:0)(cid:65)(cid:78)(cid:68)(cid:0)(cid:73)(cid:77)(cid:65)(cid:71)(cid:69)(cid:83)(cid:0)(cid:79)(cid:78)(cid:76)(cid:89)(cid:0)
(cid:73)(cid:78)(cid:0)(cid:65)(cid:78)(cid:0)(cid:69)(cid:68)(cid:73)(cid:84)(cid:79)(cid:82)(cid:73)(cid:65)(cid:76)(cid:0)(cid:70)(cid:65)(cid:83)(cid:72)(cid:73)(cid:79)(cid:78)(cid:0)(cid:65)(cid:78)(cid:68)(cid:0)(cid:84)(cid:79)(cid:0)(cid:84)(cid:72)(cid:69)(cid:0)(cid:66)(cid:69)(cid:78)(cid:69)(cid:70)(cid:73)(cid:84)(cid:0)(cid:79)(cid:70)(cid:0)(cid:84)(cid:72)(cid:69)(cid:0)(cid:84)(cid:82)(cid:65)(cid:68)(cid:69)(cid:77)(cid:65)(cid:82)(cid:75)(cid:0)(cid:79)(cid:87)(cid:78)(cid:69)(cid:82)(cid:12)(cid:0)(cid:87)(cid:73)(cid:84)(cid:72)(cid:0)(cid:78)(cid:79)(cid:0)(cid:73)(cid:78)(cid:84)(cid:69)(cid:78)(cid:84)(cid:73)(cid:79)(cid:78)(cid:0)(cid:79)(cid:70)(cid:0)(cid:73)(cid:78)(cid:70)(cid:82)(cid:73)(cid:78)(cid:71)(cid:69)(cid:77)(cid:69)(cid:78)(cid:84)(cid:0)(cid:79)(cid:70)(cid:0)
(cid:84)(cid:72)(cid:69)(cid:0)(cid:84)(cid:82)(cid:65)(cid:68)(cid:69)(cid:77)(cid:65)(cid:82)(cid:75)(cid:14)(cid:0)
(cid:52)(cid:72)(cid:69)(cid:0)(cid:85)(cid:83)(cid:69)(cid:0)(cid:73)(cid:78)(cid:0)(cid:84)(cid:72)(cid:73)(cid:83)(cid:0)(cid:80)(cid:85)(cid:66)(cid:76)(cid:73)(cid:67)(cid:65)(cid:84)(cid:73)(cid:79)(cid:78)(cid:0)(cid:79)(cid:70)(cid:0)(cid:84)(cid:82)(cid:65)(cid:68)(cid:69)(cid:0)(cid:78)(cid:65)(cid:77)(cid:69)(cid:83)(cid:12)(cid:0)(cid:84)(cid:82)(cid:65)(cid:68)(cid:69)(cid:77)(cid:65)(cid:82)(cid:75)(cid:83)(cid:12)(cid:0)(cid:83)(cid:69)(cid:82)(cid:86)(cid:73)(cid:67)(cid:69)(cid:0)(cid:77)(cid:65)(cid:82)(cid:75)(cid:83)(cid:12)(cid:0)(cid:65)(cid:78)(cid:68)(cid:0)(cid:83)(cid:73)(cid:77)(cid:73)(cid:76)(cid:65)(cid:82)(cid:0)(cid:84)(cid:69)(cid:82)(cid:77)(cid:83)(cid:12)(cid:0)(cid:69)(cid:86)(cid:69)(cid:78)(cid:0)(cid:73)(cid:70)(cid:0)(cid:84)(cid:72)(cid:69)(cid:89)(cid:0)(cid:65)(cid:82)(cid:69)(cid:0)
(cid:78)(cid:79)(cid:84)(cid:0)(cid:73)(cid:68)(cid:69)(cid:78)(cid:84)(cid:73)(cid:70)(cid:73)(cid:69)(cid:68)(cid:0)(cid:65)(cid:83)(cid:0)(cid:83)(cid:85)(cid:67)(cid:72)(cid:12)(cid:0)(cid:73)(cid:83)(cid:0)(cid:78)(cid:79)(cid:84)(cid:0)(cid:84)(cid:79)(cid:0)(cid:66)(cid:69)(cid:0)(cid:84)(cid:65)(cid:75)(cid:69)(cid:78)(cid:0)(cid:65)(cid:83)(cid:0)(cid:65)(cid:78)(cid:0)(cid:69)(cid:88)(cid:80)(cid:82)(cid:69)(cid:83)(cid:83)(cid:73)(cid:79)(cid:78)(cid:0)(cid:79)(cid:70)(cid:0)(cid:79)(cid:80)(cid:73)(cid:78)(cid:73)(cid:79)(cid:78)(cid:0)(cid:65)(cid:83)(cid:0)(cid:84)(cid:79)(cid:0)(cid:87)(cid:72)(cid:69)(cid:84)(cid:72)(cid:69)(cid:82)(cid:0)(cid:79)(cid:82)(cid:0)(cid:78)(cid:79)(cid:84)(cid:0)(cid:84)(cid:72)(cid:69)(cid:89)(cid:0)(cid:65)(cid:82)(cid:69)(cid:0)(cid:83)(cid:85)(cid:66)(cid:74)(cid:69)(cid:67)(cid:84)(cid:0)
(cid:84)(cid:79)(cid:0)(cid:80)(cid:82)(cid:79)(cid:80)(cid:82)(cid:73)(cid:69)(cid:84)(cid:65)(cid:82)(cid:89)(cid:0)(cid:82)(cid:73)(cid:71)(cid:72)(cid:84)(cid:83)(cid:14)(cid:0)
(cid:48)(cid:82)(cid:69)(cid:83)(cid:73)(cid:68)(cid:69)(cid:78)(cid:84)(cid:0)(cid:65)(cid:78)(cid:68)(cid:0)(cid:48)(cid:85)(cid:66)(cid:76)(cid:73)(cid:83)(cid:72)(cid:69)(cid:82)(cid:26)(cid:0)(cid:48)(cid:65)(cid:85)(cid:76)(cid:0)(cid:45)(cid:65)(cid:78)(cid:78)(cid:73)(cid:78)(cid:71)(cid:0)
(cid:44)(cid:69)(cid:65)(cid:68)(cid:0)(cid:37)(cid:68)(cid:73)(cid:84)(cid:79)(cid:82)(cid:26)(cid:0)(cid:37)(cid:87)(cid:65)(cid:78)(cid:0)(cid:34)(cid:85)(cid:67)(cid:75)(cid:73)(cid:78)(cid:71)(cid:72)(cid:65)(cid:77)(cid:12)(cid:0)(cid:45)(cid:65)(cid:84)(cid:84)(cid:0)(cid:45)(cid:79)(cid:79)(cid:68)(cid:73)(cid:69)(cid:0)
(cid:52)(cid:69)(cid:67)(cid:72)(cid:78)(cid:73)(cid:67)(cid:65)(cid:76)(cid:0)(cid:50)(cid:69)(cid:86)(cid:73)(cid:69)(cid:87)(cid:69)(cid:82)(cid:26)(cid:0)(cid:45)(cid:65)(cid:84)(cid:84)(cid:0)(cid:45)(cid:73)(cid:76)(cid:78)(cid:69)(cid:82)(cid:0)
(cid:37)(cid:68)(cid:73)(cid:84)(cid:79)(cid:82)(cid:73)(cid:65)(cid:76)(cid:0)(cid:34)(cid:79)(cid:65)(cid:82)(cid:68)(cid:26)(cid:0)(cid:51)(cid:84)(cid:69)(cid:86)(cid:69)(cid:0)(cid:33)(cid:78)(cid:71)(cid:76)(cid:73)(cid:78)(cid:12)(cid:0)(cid:45)(cid:65)(cid:82)(cid:75)(cid:0)(cid:34)(cid:69)(cid:67)(cid:75)(cid:78)(cid:69)(cid:82)(cid:12)(cid:0)(cid:37)(cid:87)(cid:65)(cid:78)(cid:0)(cid:34)(cid:85)(cid:67)(cid:75)(cid:73)(cid:78)(cid:71)(cid:72)(cid:65)(cid:77)(cid:12)(cid:0)(cid:39)(cid:65)(cid:82)(cid:89)(cid:0)(cid:35)(cid:79)(cid:82)(cid:78)(cid:69)(cid:76)(cid:76)(cid:12)(cid:0)
(cid:42)(cid:79)(cid:78)(cid:65)(cid:84)(cid:72)(cid:65)(cid:78)(cid:0)(cid:39)(cid:69)(cid:78)(cid:78)(cid:73)(cid:67)(cid:75)(cid:12)(cid:0)(cid:42)(cid:79)(cid:78)(cid:65)(cid:84)(cid:72)(cid:65)(cid:78)(cid:0)(cid:40)(cid:65)(cid:83)(cid:83)(cid:69)(cid:76)(cid:76)(cid:12)(cid:0)(cid:45)(cid:73)(cid:67)(cid:72)(cid:69)(cid:76)(cid:76)(cid:69)(cid:0)(cid:44)(cid:79)(cid:87)(cid:77)(cid:65)(cid:78)(cid:12)(cid:0)(cid:45)(cid:65)(cid:84)(cid:84)(cid:72)(cid:69)(cid:87)(cid:0)(cid:45)(cid:79)(cid:79)(cid:68)(cid:73)(cid:69)(cid:12)(cid:0)(cid:42)(cid:69)(cid:70)(cid:70)(cid:0)(cid:47)(cid:76)(cid:83)(cid:79)(cid:78)(cid:12)(cid:0)
(cid:42)(cid:69)(cid:70)(cid:70)(cid:82)(cid:69)(cid:89)(cid:0)(cid:48)(cid:69)(cid:80)(cid:80)(cid:69)(cid:82)(cid:12)(cid:0)(cid:38)(cid:82)(cid:65)(cid:78)(cid:75)(cid:0)(cid:48)(cid:79)(cid:72)(cid:76)(cid:77)(cid:65)(cid:78)(cid:78)(cid:12)(cid:0)(cid:36)(cid:79)(cid:85)(cid:71)(cid:76)(cid:65)(cid:83)(cid:0)(cid:48)(cid:85)(cid:78)(cid:68)(cid:73)(cid:67)(cid:75)(cid:12)(cid:0)(cid:34)(cid:69)(cid:78)(cid:0)(cid:50)(cid:69)(cid:78)(cid:79)(cid:87)(cid:13)(cid:35)(cid:76)(cid:65)(cid:82)(cid:75)(cid:69)(cid:12)(cid:0)(cid:36)(cid:79)(cid:77)(cid:73)(cid:78)(cid:73)(cid:67)(cid:0)(cid:51)(cid:72)(cid:65)(cid:75)(cid:69)(cid:83)(cid:72)(cid:65)(cid:70)(cid:84)(cid:12)(cid:0)
(cid:45)(cid:65)(cid:84)(cid:84)(cid:0)(cid:55)(cid:65)(cid:68)(cid:69)(cid:12)(cid:0)(cid:52)(cid:79)(cid:77)(cid:0)(cid:55)(cid:69)(cid:76)(cid:83)(cid:72)(cid:0)
(cid:35)(cid:79)(cid:79)(cid:82)(cid:68)(cid:73)(cid:78)(cid:65)(cid:84)(cid:73)(cid:78)(cid:71)(cid:0)(cid:37)(cid:68)(cid:73)(cid:84)(cid:79)(cid:82)(cid:26)(cid:0)(cid:42)(cid:73)(cid:77)(cid:0)(cid:45)(cid:65)(cid:82)(cid:75)(cid:72)(cid:65)(cid:77)(cid:0)
(cid:35)(cid:79)(cid:80)(cid:89)(cid:0)(cid:37)(cid:68)(cid:73)(cid:84)(cid:79)(cid:82)(cid:26)(cid:0)(cid:43)(cid:73)(cid:77)(cid:0)(cid:55)(cid:73)(cid:77)(cid:80)(cid:83)(cid:69)(cid:84)(cid:84)(cid:0)
(cid:48)(cid:82)(cid:79)(cid:68)(cid:85)(cid:67)(cid:84)(cid:73)(cid:79)(cid:78)(cid:0)(cid:51)(cid:85)(cid:80)(cid:80)(cid:79)(cid:82)(cid:84)(cid:26)(cid:0)(cid:48)(cid:65)(cid:84)(cid:82)(cid:73)(cid:67)(cid:75)(cid:0)(cid:35)(cid:85)(cid:78)(cid:78)(cid:73)(cid:78)(cid:71)(cid:72)(cid:65)(cid:77)(cid:0)
(cid:41)(cid:78)(cid:68)(cid:69)(cid:88)(cid:69)(cid:82)(cid:26)(cid:0)(cid:34)(cid:82)(cid:69)(cid:78)(cid:68)(cid:65)(cid:0)(cid:45)(cid:73)(cid:76)(cid:76)(cid:69)(cid:82)(cid:0)
(cid:33)(cid:82)(cid:84)(cid:73)(cid:83)(cid:84)(cid:26)(cid:0)(cid:33)(cid:80)(cid:82)(cid:73)(cid:76)(cid:0)(cid:45)(cid:73)(cid:76)(cid:78)(cid:69)(cid:0)
(cid:35)(cid:79)(cid:86)(cid:69)(cid:82)(cid:0)(cid:36)(cid:69)(cid:83)(cid:73)(cid:71)(cid:78)(cid:69)(cid:82)(cid:26)(cid:0)(cid:33)(cid:78)(cid:78)(cid:65)(cid:0)(cid:41)(cid:83)(cid:72)(cid:67)(cid:72)(cid:69)(cid:78)(cid:75)(cid:79)(cid:0)
(cid:36)(cid:73)(cid:83)(cid:84)(cid:82)(cid:73)(cid:66)(cid:85)(cid:84)(cid:69)(cid:68)(cid:0)(cid:84)(cid:79)(cid:0)(cid:84)(cid:72)(cid:69)(cid:0)(cid:66)(cid:79)(cid:79)(cid:75)(cid:0)(cid:84)(cid:82)(cid:65)(cid:68)(cid:69)(cid:0)(cid:87)(cid:79)(cid:82)(cid:76)(cid:68)(cid:87)(cid:73)(cid:68)(cid:69)(cid:0)(cid:66)(cid:89)(cid:0)(cid:51)(cid:80)(cid:82)(cid:73)(cid:78)(cid:71)(cid:69)(cid:82)(cid:0)(cid:51)(cid:67)(cid:73)(cid:69)(cid:78)(cid:67)(cid:69)(cid:11)(cid:34)(cid:85)(cid:83)(cid:73)(cid:78)(cid:69)(cid:83)(cid:83)(cid:0)(cid:45)(cid:69)(cid:68)(cid:73)(cid:65)(cid:12)(cid:0)(cid:44)(cid:44)(cid:35)(cid:14)(cid:12)(cid:0)(cid:18)(cid:19)(cid:19)(cid:0)(cid:51)(cid:80)(cid:82)(cid:73)(cid:78)(cid:71)(cid:0)(cid:51)(cid:84)(cid:82)(cid:69)(cid:69)(cid:84)(cid:12)(cid:0)
(cid:22)(cid:84)(cid:72)(cid:0)(cid:38)(cid:76)(cid:79)(cid:79)(cid:82)(cid:12)(cid:0)(cid:46)(cid:69)(cid:87)(cid:0)(cid:57)(cid:79)(cid:82)(cid:75)(cid:12)(cid:0)(cid:46)(cid:57)(cid:0)(cid:17)(cid:16)(cid:16)(cid:17)(cid:19)(cid:14)(cid:0)(cid:48)(cid:72)(cid:79)(cid:78)(cid:69)(cid:0)(cid:17)(cid:13)(cid:24)(cid:16)(cid:16)(cid:13)(cid:51)(cid:48)(cid:50)(cid:41)(cid:46)(cid:39)(cid:37)(cid:50)(cid:12)(cid:0)(cid:70)(cid:65)(cid:88)(cid:0)(cid:8)(cid:18)(cid:16)(cid:17)(cid:9)(cid:0)(cid:19)(cid:20)(cid:24)(cid:13)(cid:20)(cid:21)(cid:16)(cid:21)(cid:12)(cid:0)(cid:69)(cid:13)(cid:77)(cid:65)(cid:73)(cid:76)(cid:0)orders-ny@springer-
sbm.com(cid:12)(cid:0)(cid:79)(cid:82)(cid:0)(cid:86)(cid:73)(cid:83)(cid:73)(cid:84)(cid:0)www.springeronline.com(cid:14)(cid:0)(cid:0)
(cid:38)(cid:79)(cid:82)(cid:0)(cid:73)(cid:78)(cid:70)(cid:79)(cid:82)(cid:77)(cid:65)(cid:84)(cid:73)(cid:79)(cid:78)(cid:0)(cid:79)(cid:78)(cid:0)(cid:84)(cid:82)(cid:65)(cid:78)(cid:83)(cid:76)(cid:65)(cid:84)(cid:73)(cid:79)(cid:78)(cid:83)(cid:12)(cid:0)(cid:80)(cid:76)(cid:69)(cid:65)(cid:83)(cid:69)(cid:0)(cid:69)(cid:13)(cid:77)(cid:65)(cid:73)(cid:76)(cid:0)[email protected](cid:12)(cid:0)(cid:79)(cid:82)(cid:0)(cid:86)(cid:73)(cid:83)(cid:73)(cid:84)(cid:0)www.apress.com(cid:14)(cid:0)(cid:0)
(cid:33)(cid:80)(cid:82)(cid:69)(cid:83)(cid:83)(cid:0)(cid:65)(cid:78)(cid:68)(cid:0)(cid:70)(cid:82)(cid:73)(cid:69)(cid:78)(cid:68)(cid:83)(cid:0)(cid:79)(cid:70)(cid:0)(cid:37)(cid:36)(cid:0)(cid:66)(cid:79)(cid:79)(cid:75)(cid:83)(cid:0)(cid:77)(cid:65)(cid:89)(cid:0)(cid:66)(cid:69)(cid:0)(cid:80)(cid:85)(cid:82)(cid:67)(cid:72)(cid:65)(cid:83)(cid:69)(cid:68)(cid:0)(cid:73)(cid:78)(cid:0)(cid:66)(cid:85)(cid:76)(cid:75)(cid:0)(cid:70)(cid:79)(cid:82)(cid:0)(cid:65)(cid:67)(cid:65)(cid:68)(cid:69)(cid:77)(cid:73)(cid:67)(cid:12)(cid:0)(cid:67)(cid:79)(cid:82)(cid:80)(cid:79)(cid:82)(cid:65)(cid:84)(cid:69)(cid:12)(cid:0)(cid:79)(cid:82)(cid:0)(cid:80)(cid:82)(cid:79)(cid:77)(cid:79)(cid:84)(cid:73)(cid:79)(cid:78)(cid:65)(cid:76)(cid:0)(cid:85)(cid:83)(cid:69)(cid:14)(cid:0)
(cid:69)(cid:34)(cid:79)(cid:79)(cid:75)(cid:0)(cid:86)(cid:69)(cid:82)(cid:83)(cid:73)(cid:79)(cid:78)(cid:83)(cid:0)(cid:65)(cid:78)(cid:68)(cid:0)(cid:76)(cid:73)(cid:67)(cid:69)(cid:78)(cid:83)(cid:69)(cid:83)(cid:0)(cid:65)(cid:82)(cid:69)(cid:0)(cid:65)(cid:76)(cid:83)(cid:79)(cid:0)(cid:65)(cid:86)(cid:65)(cid:73)(cid:76)(cid:65)(cid:66)(cid:76)(cid:69)(cid:0)(cid:70)(cid:79)(cid:82)(cid:0)(cid:77)(cid:79)(cid:83)(cid:84)(cid:0)(cid:84)(cid:73)(cid:84)(cid:76)(cid:69)(cid:83)(cid:14)(cid:0)(cid:38)(cid:79)(cid:82)(cid:0)(cid:77)(cid:79)(cid:82)(cid:69)(cid:0)(cid:73)(cid:78)(cid:70)(cid:79)(cid:82)(cid:77)(cid:65)(cid:84)(cid:73)(cid:79)(cid:78)(cid:12)(cid:0)(cid:82)(cid:69)(cid:70)(cid:69)(cid:82)(cid:69)(cid:78)(cid:67)(cid:69)(cid:0)(cid:79)(cid:85)(cid:82)(cid:0)
(cid:51)(cid:80)(cid:69)(cid:67)(cid:73)(cid:65)(cid:76)(cid:0)(cid:34)(cid:85)(cid:76)(cid:75)(cid:0)(cid:51)(cid:65)(cid:76)(cid:69)(cid:83)(cid:110)(cid:69)(cid:34)(cid:79)(cid:79)(cid:75)(cid:0)(cid:44)(cid:73)(cid:67)(cid:69)(cid:78)(cid:83)(cid:73)(cid:78)(cid:71)(cid:0)(cid:87)(cid:69)(cid:66)(cid:0)(cid:80)(cid:65)(cid:71)(cid:69)(cid:0)(cid:65)(cid:84)(cid:0)www.apress.com/info/bulksales(cid:14)(cid:0)
(cid:52)(cid:72)(cid:69)(cid:0)(cid:73)(cid:78)(cid:70)(cid:79)(cid:82)(cid:77)(cid:65)(cid:84)(cid:73)(cid:79)(cid:78)(cid:0)(cid:73)(cid:78)(cid:0)(cid:84)(cid:72)(cid:73)(cid:83)(cid:0)(cid:66)(cid:79)(cid:79)(cid:75)(cid:0)(cid:73)(cid:83)(cid:0)(cid:68)(cid:73)(cid:83)(cid:84)(cid:82)(cid:73)(cid:66)(cid:85)(cid:84)(cid:69)(cid:68)(cid:0)(cid:79)(cid:78)(cid:0)(cid:65)(cid:78)(cid:0)(cid:104)(cid:65)(cid:83)(cid:0)(cid:73)(cid:83)(cid:118)(cid:0)(cid:66)(cid:65)(cid:83)(cid:73)(cid:83)(cid:12)(cid:0)(cid:87)(cid:73)(cid:84)(cid:72)(cid:79)(cid:85)(cid:84)(cid:0)(cid:87)(cid:65)(cid:82)(cid:82)(cid:65)(cid:78)(cid:84)(cid:89)(cid:14)(cid:0)(cid:33)(cid:76)(cid:84)(cid:72)(cid:79)(cid:85)(cid:71)(cid:72)(cid:0)(cid:69)(cid:86)(cid:69)(cid:82)(cid:89)(cid:0)
(cid:80)(cid:82)(cid:69)(cid:67)(cid:65)(cid:85)(cid:84)(cid:73)(cid:79)(cid:78)(cid:0)(cid:72)(cid:65)(cid:83)(cid:0)(cid:66)(cid:69)(cid:69)(cid:78)(cid:0)(cid:84)(cid:65)(cid:75)(cid:69)(cid:78)(cid:0)(cid:73)(cid:78)(cid:0)(cid:84)(cid:72)(cid:69)(cid:0)(cid:80)(cid:82)(cid:69)(cid:80)(cid:65)(cid:82)(cid:65)(cid:84)(cid:73)(cid:79)(cid:78)(cid:0)(cid:79)(cid:70)(cid:0)(cid:84)(cid:72)(cid:73)(cid:83)(cid:0)(cid:87)(cid:79)(cid:82)(cid:75)(cid:12)(cid:0)(cid:78)(cid:69)(cid:73)(cid:84)(cid:72)(cid:69)(cid:82)(cid:0)(cid:84)(cid:72)(cid:69)(cid:0)(cid:65)(cid:85)(cid:84)(cid:72)(cid:79)(cid:82)(cid:8)(cid:83)(cid:9)(cid:0)(cid:78)(cid:79)(cid:82)(cid:0)(cid:33)(cid:80)(cid:82)(cid:69)(cid:83)(cid:83)(cid:0)(cid:83)(cid:72)(cid:65)(cid:76)(cid:76)(cid:0)(cid:72)(cid:65)(cid:86)(cid:69)(cid:0)
(cid:65)(cid:78)(cid:89)(cid:0)(cid:76)(cid:73)(cid:65)(cid:66)(cid:73)(cid:76)(cid:73)(cid:84)(cid:89)(cid:0)(cid:84)(cid:79)(cid:0)(cid:65)(cid:78)(cid:89)(cid:0)(cid:80)(cid:69)(cid:82)(cid:83)(cid:79)(cid:78)(cid:0)(cid:79)(cid:82)(cid:0)(cid:69)(cid:78)(cid:84)(cid:73)(cid:84)(cid:89)(cid:0)(cid:87)(cid:73)(cid:84)(cid:72)(cid:0)(cid:82)(cid:69)(cid:83)(cid:80)(cid:69)(cid:67)(cid:84)(cid:0)(cid:84)(cid:79)(cid:0)(cid:65)(cid:78)(cid:89)(cid:0)(cid:76)(cid:79)(cid:83)(cid:83)(cid:0)(cid:79)(cid:82)(cid:0)(cid:68)(cid:65)(cid:77)(cid:65)(cid:71)(cid:69)(cid:0)(cid:67)(cid:65)(cid:85)(cid:83)(cid:69)(cid:68)(cid:0)(cid:79)(cid:82)(cid:0)(cid:65)(cid:76)(cid:76)(cid:69)(cid:71)(cid:69)(cid:68)(cid:0)(cid:84)(cid:79)(cid:0)(cid:66)(cid:69)(cid:0)(cid:67)(cid:65)(cid:85)(cid:83)(cid:69)(cid:68)(cid:0)
(cid:68)(cid:73)(cid:82)(cid:69)(cid:67)(cid:84)(cid:76)(cid:89)(cid:0)(cid:79)(cid:82)(cid:0)(cid:73)(cid:78)(cid:68)(cid:73)(cid:82)(cid:69)(cid:67)(cid:84)(cid:76)(cid:89)(cid:0)(cid:66)(cid:89)(cid:0)(cid:84)(cid:72)(cid:69)(cid:0)(cid:73)(cid:78)(cid:70)(cid:79)(cid:82)(cid:77)(cid:65)(cid:84)(cid:73)(cid:79)(cid:78)(cid:0)(cid:67)(cid:79)(cid:78)(cid:84)(cid:65)(cid:73)(cid:78)(cid:69)(cid:68)(cid:0)(cid:73)(cid:78)(cid:0)(cid:84)(cid:72)(cid:73)(cid:83)(cid:0)(cid:87)(cid:79)(cid:82)(cid:75)(cid:14)(cid:0)(cid:0)
(cid:52)(cid:72)(cid:69)(cid:0)(cid:83)(cid:79)(cid:85)(cid:82)(cid:67)(cid:69)(cid:0)(cid:67)(cid:79)(cid:68)(cid:69)(cid:0)(cid:70)(cid:79)(cid:82)(cid:0)(cid:84)(cid:72)(cid:73)(cid:83)(cid:0)(cid:66)(cid:79)(cid:79)(cid:75)(cid:0)(cid:73)(cid:83)(cid:0)(cid:65)(cid:86)(cid:65)(cid:73)(cid:76)(cid:65)(cid:66)(cid:76)(cid:69)(cid:0)(cid:84)(cid:79)(cid:0)(cid:82)(cid:69)(cid:65)(cid:68)(cid:69)(cid:82)(cid:83)(cid:0)(cid:65)(cid:84)(cid:0)www.apress.com(cid:14)(cid:0)(cid:57)(cid:79)(cid:85)(cid:0)(cid:87)(cid:73)(cid:76)(cid:76)(cid:0)(cid:78)(cid:69)(cid:69)(cid:68)(cid:0)(cid:84)(cid:79)(cid:0)(cid:65)(cid:78)(cid:83)(cid:87)(cid:69)(cid:82)(cid:0)
(cid:81)(cid:85)(cid:69)(cid:83)(cid:84)(cid:73)(cid:79)(cid:78)(cid:83)(cid:0)(cid:80)(cid:69)(cid:82)(cid:84)(cid:65)(cid:73)(cid:78)(cid:73)(cid:78)(cid:71)(cid:0)(cid:84)(cid:79)(cid:0)(cid:84)(cid:72)(cid:73)(cid:83)(cid:0)(cid:66)(cid:79)(cid:79)(cid:75)(cid:0)(cid:73)(cid:78)(cid:0)(cid:79)(cid:82)(cid:68)(cid:69)(cid:82)(cid:0)(cid:84)(cid:79)(cid:0)(cid:83)(cid:85)(cid:67)(cid:67)(cid:69)(cid:83)(cid:83)(cid:70)(cid:85)(cid:76)(cid:76)(cid:89)(cid:0)(cid:68)(cid:79)(cid:87)(cid:78)(cid:76)(cid:79)(cid:65)(cid:68)(cid:0)(cid:84)(cid:72)(cid:69)(cid:0)(cid:67)(cid:79)(cid:68)(cid:69)(cid:14)(cid:0)
(cid:0)
For Teresa and Brennan
(cid:0)
Contents at a Glance
About the Author ................................................................................................... xxxi
(cid:0)
About the Technical Reviewer .............................................................................. xxxii
Acknowledgments ............................................................................................... xxxiii
Introduction ......................................................................................................... xxxiv
■Chapter 1: A Quick Tour of Windows Workflow Foundation ................................... 1
■Chapter 2: Foundation Overview ........................................................................... 45
■Chapter 3: Activities .............................................................................................. 71
■Chapter 4: Workflow Hosting ............................................................................... 111
■Chapter 5: Procedural Flow Control .................................................................... 163
■Chapter 6: Collection-Related Activities .............................................................. 195
■Chapter 7: Flowchart Modeling Style .................................................................. 229
■Chapter 8: Host Communication .......................................................................... 265
■Chapter 9: Workflow Services ............................................................................. 313
■Chapter 10: Workflow Services Advanced Topics ............................................... 369
■Chapter 11: Workflow Persistence ...................................................................... 415
■Chapter 12: Customizing Workflow Persistence ................................................ 469
■Chapter 13: Transactions, Compensation, and Exception Handling .................... 507
■Chapter 14: Workflow Tracking ........................................................................... 565
■Chapter 15: Enhancing the Design Experience .................................................... 629
(cid:73)(cid:86)(cid:0)
■ CONTENTS AT A GLANCE
■Chapter 16: Advanced Custom Activities ............................................................ 687
■Chapter 17: Hosting the Workflow Designer ........................................................ 753
■Chapter 18: WF 3.x Interop and Migration ........................................................... 801
■Appendix A: Glossary ........................................................................................... 849
■Appendix B: Comparing WF 3.x to WF 4 .............................................................. 861
Index ....................................................................................................................... 869
(cid:86)(cid:0)
Contents
About the Author ................................................................................................... xxxi
(cid:0)
About the Technical Reviewers ............................................................................ xxxii
Acknowledgments ............................................................................................... xxxiii
Introduction ......................................................................................................... xxxiv
■Chapter 1: A Quick Tour of Windows Workflow Foundation ................................... 1
Why Workflow? .................................................................................................................. 1
Workflows Are Different ........................................................................................................................... 2
Why Windows Workflow Foundation? ...................................................................................................... 3
Your Development Environment ........................................................................................ 4
The Workflow Workflow ..................................................................................................... 4
Hello Workflow ................................................................................................................... 5
Creating the Project .................................................................................................................................. 6
Declaring the Workflow ............................................................................................................................ 8
Adding the Sequence Activity ................................................................................................................... 9
Adding the WriteLine Activity ................................................................................................................. 10
Hosting the Workflow ............................................................................................................................. 12
Running the Application ......................................................................................................................... 14
Exploring the Xaml .................................................................................................................................. 15
Passing Parameters ......................................................................................................... 17
Declaring the Workflow .......................................................................................................................... 17
Hosting the Workflow ............................................................................................................................. 20
(cid:86)(cid:73)(cid:0)
■ CONTENTS
Running the Application ......................................................................................................................... 21
Using Argument Properties ..................................................................................................................... 21
Making Decisions ............................................................................................................ 22
Creating the Project ................................................................................................................................ 23
Implementing a Custom Activity ............................................................................................................. 23
Defining Arguments ................................................................................................................................ 25
Defining Variables................................................................................................................................... 26
Adding the Custom Activity .................................................................................................................... 28
Adding the Switch<T> and Assign Activities ......................................................................................... 29
Hosting the Workflow ............................................................................................................................. 34
Running the Application ......................................................................................................................... 35
Debugging the Application ..................................................................................................................... 37
Unit Testing ...................................................................................................................... 39
Testing the Custom Activity .................................................................................................................... 39
Testing the Workflow .............................................................................................................................. 41
Summary ......................................................................................................................... 43
■Chapter 2: Foundation Overview ........................................................................... 45
WF Features and Capabilities .......................................................................................... 45
Declarative Activity Model ...................................................................................................................... 45
Standard Activities ................................................................................................................................. 46
Custom Activities .................................................................................................................................... 46
Workflow Designer ................................................................................................................................. 47
Custom Activity Designers and Validation .............................................................................................. 47
Multiple Modeling Styles ........................................................................................................................ 47
Workflow Debugger ................................................................................................................................ 48
Workflow Services .................................................................................................................................. 48
Multiple Workflow Hosts ......................................................................................................................... 48
Workflow Extensions .............................................................................................................................. 49
Persistence ............................................................................................................................................. 49
(cid:86)(cid:73)(cid:73)(cid:0)
■ CONTENTS
Bookmark Processing ............................................................................................................................. 49
Expressions ............................................................................................................................................ 50
Transaction Support ............................................................................................................................... 50
Compensation and Exception Handling .................................................................................................. 50
Workflow Tracking.................................................................................................................................. 50
Designer Rehosting ................................................................................................................................ 51
WF 3.x Migration ..................................................................................................................................... 51
Assemblies and Namespaces .......................................................................................... 51
System.Activities .................................................................................................................................... 51
System.Activities.DurableInstancing ...................................................................................................... 52
System.Runtime.DurableInstancing ....................................................................................................... 52
System.Activities.Presentation ............................................................................................................... 53
System.ServiceModel.Activities ............................................................................................................. 53
3.x Assemblies ....................................................................................................................................... 54
Activity Life Cycle ............................................................................................................ 55
Definition vs. Runtime Instance .............................................................................................................. 55
Definition vs. Runtime Variables ............................................................................................................. 56
Activity States ......................................................................................................................................... 57
Expressions ..................................................................................................................... 57
Visual Basic Expressions ........................................................................................................................ 58
VB Primer for Workflow Developers ....................................................................................................... 58
Expression Activities............................................................................................................................... 62
Missing 4 Features .......................................................................................................... 66
State Machine ......................................................................................................................................... 67
Reuse of WCF Contracts ......................................................................................................................... 67
C# Expression Support ........................................................................................................................... 68
Tracking to SQL Server ........................................................................................................................... 68
Rules Engine ........................................................................................................................................... 68
Dynamic Updates .................................................................................................................................... 68
(cid:86)(cid:73)(cid:73)(cid:73)(cid:0)
■ CONTENTS
Summary ......................................................................................................................... 68
■Chapter 3: Activities .............................................................................................. 71
Understanding Activities .................................................................................................. 71
Authoring Activities ................................................................................................................................ 72
Kinds of Work ......................................................................................................................................... 72
Kinds of Data .......................................................................................................................................... 74
Activity Class Hierarchy .......................................................................................................................... 76
Custom Activity Workflow ....................................................................................................................... 78
An Example Activity ......................................................................................................... 78
Implementing an Activity in Code .................................................................................... 78
Creating the Project ................................................................................................................................ 79
Implementing the Activity ....................................................................................................................... 79
Implementing Unit Tests ......................................................................................................................... 81
Testing the Activity ................................................................................................................................. 83
Declaring an Activity with Xaml ....................................................................................... 84
Creating the Activity Class ...................................................................................................................... 84
Defining Arguments ................................................................................................................................ 84
Defining Variables................................................................................................................................... 85
Declaring the Activity ............................................................................................................................. 85
Implementing Unit Tests ......................................................................................................................... 87
Testing the Activity ................................................................................................................................. 88
Declaring an Activity with Code ....................................................................................... 88
Creating the Activity Class ...................................................................................................................... 89
Implementing the Activity ....................................................................................................................... 89
Implementing Unit Tests ......................................................................................................................... 92
Testing the Activity ................................................................................................................................. 93
Implementing an Asynchronous Activity.......................................................................... 93
Creating the Activity Class ...................................................................................................................... 94
(cid:73)(cid:88)(cid:0)
■ CONTENTS
Implementing the Activity ....................................................................................................................... 94
Implementing Unit Tests ......................................................................................................................... 96
Testing the Activity ................................................................................................................................. 97
Using Activities ................................................................................................................ 97
Workflow Building Blocks ....................................................................................................................... 97
Activity Data Flow ................................................................................................................................... 99
Variable Scoping ................................................................................................................................... 100
Standard Activities Summary ........................................................................................ 101
Standard Activities ......................................................................................................... 103
Control Flow ......................................................................................................................................... 104
Flowchart .............................................................................................................................................. 105
Messaging ............................................................................................................................................ 106
Runtime ................................................................................................................................................ 107
Primitives .............................................................................................................................................. 107
Transactions and Compensation .......................................................................................................... 108
Collection Management ........................................................................................................................ 109
Error Handling ....................................................................................................................................... 109
Migration .............................................................................................................................................. 110
Summary ....................................................................................................................... 110
■Chapter 4: Workflow Hosting ............................................................................... 111
Understanding the WorkflowInvoker Class .................................................................... 111
Using the Static Methods ..................................................................................................................... 111
Using the Instance Methods ................................................................................................................. 112
Using the WorkflowInvoker Static Methods ................................................................... 114
Declaring the HostingDemoWorkflow ................................................................................................... 114
Simple Hosting of the Workflow ........................................................................................................... 117
Passing Arguments with Workflow Properties ..................................................................................... 118
(cid:88)(cid:0)