WaitForEmailActivity, testing execution of, 218–219
WaitForEmailService code sample, 213–214
WaitForIdle property in ExternalDataEventArgs class, description of, 106
wca.exe data-exchange service
command-line switches for, 117
features of, 48
generating communication activities with, 117–119
WCF (Windows Communication Foundation)
ABC’s of, 347
benefit of, 348
bindings in, 347
communication contract for, 351
endpoints in, 347
exposing workflows as web services with, 349–354
features of, 59–60, 347–349
preconfigured bindings in, 348
role in .NET Framework 3.0, 13
web resources for, 349
WCF service contracts, defining, 347–348
web references, adding to workflow projects, 337
web service class definitions, creating, 152
web service wizard
exposing workflows as web services with, 340–343
limitations of, 342–343
running from Visual Studio, 340
web services.
See also ASP.NET web services
calling, 336
calling inside workflows, 335–339
creating, 335
exposing workflows as, 340–346, 349–354
making calls to external web services, 134
managing sessions with clients, 342
WCF (Windows Communication Foundation) resources for, 349
Web.config file
for manual scheduler, 343
for web service called inside workflow, 341–342
for WorkflowRuntime class, 322
websites
BizTalk Server resource, 56
C# resource, 25
K2.net, 10
Lutz’s Reflector, 63
Skelta Workflow.NET, 10–11
SQL Server Management Studio download, 169
WebServiceFault activity
description of, 335
using, 141
WebServiceInput activity
using, 141–142
and WebServcieOutput activity, 334
WebServiceInputActivity class code sample, 152
WebServiceOutput activity, using, 142
web-services-related activities
InvokeWebService, 334
WebServiceFault, 335
WebServiceInput and WebServcieOutput, 334
wfc.exe compiler
displaying options for, 69–70
features of, 48–49
performing workflow compilation with, 68–70
using with XAML workflow, 63
While activity
using, 142
using activity rules with, 226–227
Windows CardSpace, role in .NET Framework 3.0, 14
Windows Communication Foundation (WCF)
ABC’s of, 347–349
benefit of, 348
bindings in, 347
communication contract for, 351
endpoints in, 347
exposing workflows as web services with, 349–354
features of, 59–60, 347–349
preconfigured bindings in, 348
role in .NET Framework 3.0, 13
web resources for, 349
Windows Event Log, logging workflow instance terminations to, 187–188
Windows Form shopping cart workflow application, 266–270.
See also forms;
workflow forms
Windows Presentation Foundation (WPF), role in .NET Framework 3.0, 12–13
Windows service, requirement for, 353
Windows Workflow Foundation
audience for, 16–18
versus BizTalk Server, 56–57
deciding on use of, 15–16
integration with SharePoint, 57–59
running asynchronously, 43
Windows Workflow Foundation components
activities, 36–39
base activity library, 38
hosting component, 39–40
rules, 44–46
runtime services, 40–44
Visual Studio, 46–47
workflows, 35–36
Windows Workflow utilities
wca.exe, 48
wfc.exe, 48
wizards. See web service wizard
Word 2007, new features in, 356
work batch services.
See also batch services
DefaultWorkflowCommitWorkBatchService, 167
developing, 190
features of, 166–167
SharedConnectionWorkflowCommitWorkBatch- Service, 167
work batching, relationship to WorkflowEnvironment class, 101
WorkBatch property of WorkflowEnvironment class, using, 167
workflow Actions, defining SharePoint Designer 2007, 378
Workflow Activity Library project template, description of, 75
workflow applications, maintaining integrity in, 41
workflow associations
making in SharePoint 2007, 368–370
Start Options for, 369
workflow communication, parameters for, 102–103.
See also local communication services
workflow compilation
performing with wfc.exe, 68–70
performing with WorkflowCompiler class, 70–71
steps for, 71
workflow customizations
debugging in SharePoint, 391–392
deploying and configuring to SharePoint, 390–391
workflow debugging. See debugging workflows
workflow definitions in filesystem, working with, 292
workflow designer hosting.
See also hosts;
re-hosting
description of, 282–283
event handlers for, 285, 289
Windows Forms fields and constructor for, 283–284
workflow designers
activities, 85
cancellation handler view, 82
capabilities of, 82
determining statuses of activities with, 86
displaying outside bounds of Visual Studio, 278
faults view, 83
hosting, 282–283
location of, 82
sequential workflows view, 82
state-machine workflows, 84–85
workflow view, 82
workflow development styles
code-beside model, 64–66
code-only, 65–66
markup only, 61–64
markup-only model, 68
workflow engines, features of, 10–11
workflow execution
process of, 100–101
using tracking profiles with, 175–178
workflow faults. See faults
workflow forms.
See also forms;
Windows Form shopping cart workflow application
association forms, 372
initiation forms, 373
modification forms, 374
task completion forms, 373–374
workflow instance terminations, logging to Windows Event Log, 187–188
workflow instances
aborting, 172
ensuring consistency in, 196
events related to, 96–97
locking, 173
obtaining references to, 99
pausing execution of, 139–140
setting current states of, 261–262
starting and managing, 94
using parameters with, 102–103
workflow loader services
developing, 202
features of, 189
Workflow menu, options on, 75–76
Workflow Monitor, using with SqlTrackingService, 186–187
workflow performance counters
using, 313–315
viewing, 314–315
workflow projects, adding web references to, 337
workflow queues
creating, 212
deleting, 212
role in host-to-workflow communication, 211–212
workflow rules. See rules
workflow runtime.
See also runtime services
adding SQL tracking service to, 50–51
code sample, 344
hosting when using ASP.NET, 320
managing, 92–93
managing in ASP.NET, 321–322
workflow scenarios
application flow, 6
human-to-system interaction, 6
system-to-system interaction, 6
workflow serialization, 66–68
workflow stack, 34
workflow tenets, 3–5, 15–16
workflow toolbar, options on, 77
workflow types
event-driven workflows, 5, 8
ordered workflows, 5
workflow view designer, description of, 82
Workflow1 class, modifying for HelloWorld project, 22
Workflow1.cs, 73
Workflow1.designer.cs file, partial class in, 73
WorkflowChanges class, using with dynamic update, 274
WorkflowCompiler class, performing workflow compilation with, 70–71
WorkflowCompleted event handler
using with HelloWorld project, 25
using with web services, 345
WorkflowDesignerLoader class in designer API, using, 278–280
WorkflowEnvironment class, explanation of, 101
WorkflowEventArgs class, using with workflow instances, 96
WorkflowHelper class for page flow engine, 326–328, 329
WorkflowHostService implementation, 352–353
WorkflowIdled event handler, using with communication service, 123
WorkflowInstance class
calling Start method of, 100
methods of, 99–100
monitoring and manipulating instances with, 99–100
WorkflowInvoked event handler, using with SharePoint workflows, 384
WorkflowMarkupSerializer class, description of, 67
WorkflowMarkupSerializer class, using with activities, 151
WorkflowRuntime class
obtaining reference to, 92
public methods exposed by, 93
tasks associated with, 92
Web.config file for, 322
WorkflowRuntime events, debugging workflows with, 306–308
WorkflowRuntime instance, creating, 97–98
workflows.
See also SharePoint workflows
adding activities to, 160
adding scheduler services with, 343
calling web services inside of, 335–339
creating with SharePoint Designer, 376
defining in XAML, 62–64
definition of, 2
dynamic update from, 275–276
executing relative to threading, 43–44
exposing as web services, 142, 340–346, 349–354
hosting, 91–92
implementing, 8–11
indicating dirty workflows, 285
invoking, 135
monitoring, 51–52
monitoring and recording execution of, 42–43
monitoring with tracking services, 174
opening for HelloWorld project, 21
passing first names to, 26
placing fault handlers in, 301
retrieving messages from, 25
sequential workflows, 35–36
starting in host applications, 40
statefulness of, 4
state-machine workflows, 36
synchronizing execution of, 140
transparency of, 5
troubleshooting, 391–392
viewing .NET code behind, 21–22
WorkflowSchedulerService code sample, 190
WorkflowTrackingLocation, Events property of, 176
WorkflowType property in ExternalDataEventArgs class, description of, 106
WorkflowView class in designer API, using, 281
WorkflowwebHostingModule HTTP module, description of, 342
workflow.xml file for SharePoint, 381
WorkHandler property in ExternalDataEventArgs class, description of, 107
WorkItem property in ExternalDataEventArgs class, description of, 107
WPF (Windows Presentation Foundation), role in .NET Framework 3.0, 12–13
WriteFile activity
features of, 152
testing, 159
WriteFileActivity class code sample, 153–154
WriteFileActivityDesigner class implementation, 155–156
WriteFileActivityDesignerTheme class code sample, 157
WriteFileActivityValidator class code sample, 158–159