Skip to content

Commit 7f52e01

Browse files
damabemairaw
authored andcommitted
SEOImages: User Story 1463880, Part 30 (#11410)
* Image updates. * Image updates. * SEO image overview. * SEO image overview. * SEO image overview. * SEO image overview. * SEO image overview. * Update workflow-service-host-internals.md * Update docs/framework/wcf/feature-details/workflow-service-host-internals.md Co-Authored-By: damabe <[email protected]> * Update docs/framework/wcf/feature-details/workflow-service-host-internals.md Co-Authored-By: damabe <[email protected]> * Update docs/framework/wcf/feature-details/workflow-service-host-internals.md Co-Authored-By: damabe <[email protected]> * Update docs/framework/wcf/feature-details/workflow-service-host-internals.md Co-Authored-By: damabe <[email protected]> * Update docs/framework/wpf/app-development/navigation-topologies-overview.md Co-Authored-By: damabe <[email protected]> * Update docs/framework/wpf/controls/wpf-content-model.md Co-Authored-By: damabe <[email protected]>
1 parent e5e4a1a commit 7f52e01

20 files changed

+29
-31
lines changed

docs/framework/wcf/feature-details/workflow-service-host-internals.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,36 +7,37 @@ ms.assetid: af44596f-bf6a-4149-9f04-08d8e8f45250
77
<xref:System.ServiceModel.WorkflowServiceHost> provides a host for workflow services. It is responsible for listening for incoming messages and routing them to the appropriate workflow service instance, it controls unloading and persisting of idle workflows, and more. This topic describes how WorkflowServiceHost processes incoming messages.
88

99
## WorkflowServiceHost Overview
10-
The <xref:System.ServiceModel.WorkflowServiceHost> class is used to host workflow services. It listens for incoming messages and routes them to the appropriate service instance, creating new instances or loading existing instances from durable storage as needed. The following diagram illustrates on a high level how <xref:System.ServiceModel.WorkflowServiceHost> works.
10+
11+
The <xref:System.ServiceModel.WorkflowServiceHost> class is used to host workflow services. It listens for incoming messages and routes them to the appropriate service instance, creating new instances or loading existing instances from durable storage as needed. The following diagram illustrates on a high level how <xref:System.ServiceModel.WorkflowServiceHost> works:
1112

12-
![WorkflowServiceHost Overview](../../../../docs/framework/wcf/feature-details/media/wfshhighlevel.gif "WFSHHighLevel")
13+
![Diagram that shows an overview of the Workflow Service Host.](./media/workflow-service-host-internals/workflow-service-host-high-level-overview.gif)
1314

1415
This diagram shows that <xref:System.ServiceModel.WorkflowServiceHost> loads workflow service definitions from .xamlx files and loads configuration information from a configuration file. It also loads tracking configuration from the tracking profile. <xref:System.ServiceModel.WorkflowServiceHost> exposes a workflow control endpoint which allows you to send control operations to workflow instances. For more information see [Workflow Control Endpoint sample](../../../../docs/framework/wcf/feature-details/workflow-control-endpoint.md).
1516

1617
<xref:System.ServiceModel.WorkflowServiceHost> also exposes application endpoints that listen for incoming application messages. When an incoming message arrives it is sent to the appropriate workflow service instance (if it is currently loaded). If needed a new workflow instance is created. Or if an existing instance has been persisted it is loaded from the persistence store.
1718

1819
## WorkflowServiceHost Details
19-
The following diagram shows how <xref:System.ServiceModel.WorkflowServiceHost> handles messages in a bit more detail.
20+
The following diagram shows how <xref:System.ServiceModel.WorkflowServiceHost> handles messages in a bit more detail:
2021

21-
![Workflow Service Host Message Flow](../../../../docs/framework/wcf/feature-details/media/wfshmessageflow.gif "WFSHMessageFlow")
22+
![Diagram that shows the Workflow Service Host message flow.](./media/workflow-service-host-internals/workflow-service-host-message-flow.gif)
2223

2324
This diagram shows three different endpoints, an application endpoint, a workflow control endpoint, and a workflow hosting endpoint. The application endpoint receives messages that are bound for a specific workflow instance. The workflow control endpoint listens for control operations. The workflow hosting endpoint listens for messages that cause <xref:System.ServiceModel.WorkflowServiceHost> to load and execute non-service workflows. As shown in the diagram all messages are processed through the WCF runtime. Workflow service instance throttling is achieved by using the <xref:System.ServiceModel.Description.ServiceThrottlingBehavior.MaxConcurrentInstances%2A> property. This property will limit the number of concurrent workflow service instances. When this throttle is exceeded any additional requests for new workflow service instances or requests to activate persisted workflow instances will be queued. The queued requests are processed in FIFO order regardless of whether they are requests for a new instance or a running, persisted instance. Host policy information is loaded that determines how unhandled exceptions are dealt with, and how idle workflow services are unloaded and persisted. For more information about these topics see [How to: Configure Workflow Unhandled Exception Behavior with WorkflowServiceHost](../../../../docs/framework/wcf/feature-details/config-workflow-unhandled-exception-workflowservicehost.md) and [How to: Configure Idle Behavior with WorkflowServiceHost](../../../../docs/framework/wcf/feature-details/how-to-configure-idle-behavior-with-workflowservicehost.md). Workflow instances are persisted according to host policies and are reloaded when needed. For more information about workflow persistence see: [How to: Configure Persistence with WorkflowServiceHost](../../../../docs/framework/wcf/feature-details/how-to-configure-persistence-with-workflowservicehost.md), [Creating a Long-running Workflow Service](../../../../docs/framework/wcf/feature-details/creating-a-long-running-workflow-service.md), and [Workflow Persistence](../../../../docs/framework/windows-workflow-foundation/workflow-persistence.md).
2425

25-
The following illustration shows what the WorkflowServiceHost.Open is called.
26+
The following illustration shows the flow when WorkflowServiceHost.Open is called:
2627

27-
![When WorkflowServiceHost.Open is called](../../../../docs/framework/wcf/feature-details/media/wfhostopen.gif "WFHostOpen")
28+
![Diagram that shows the flow when WorkflowServiceHost.Open is called.](./media/workflow-service-host-internals/workflow-service-host-open.gif)
2829

2930
The workflow is loaded from XAML and the activity tree is created. <xref:System.ServiceModel.WorkflowServiceHost> walks the activity tree and creates the service description. Configuration is applied to the host. Finally the host begins to listen for incoming messages.
3031

31-
The following illustration shows what the <xref:System.ServiceModel.WorkflowServiceHost> does when it receives a message bound for a Receive activity that has CanCreateInstance set to `true`.
32+
The following illustration shows what the <xref:System.ServiceModel.WorkflowServiceHost> does when it receives a message bound for a Receive activity that has CanCreateInstance set to `true`:
3233

33-
![Workflow Service Host Receives a message](../../../../docs/framework/wcf/feature-details/media/wfhreceivemessagecci.gif "WFHReceiveMessageCCI")
34+
![Decision tree used by the WFS Host when it receives a message and CanCreateInstance is true.](./media/workflow-service-host-internals/workflow-service-host-receive-message-cancreateinstance.gif)
3435

3536
The message arrives and is processed by the WCF channel stack. Throttles are checked and correlation queries are executed. If the message is bound for an existing instance the message is delivered. If a new instance needs to be created, the Receive activity’s CanCreateInstance property is checked. If it is set to true, a new instance is created and the message is delivered.
3637

3738
The following illustration shows what the <xref:System.ServiceModel.WorkflowServiceHost> does when it receives a message bound for a Receive activity that has CanCreateInstance set to false.
3839

39-
![WorkflowServiceHost receives a message](../../../../docs/framework/wcf/feature-details/media/wfshreceivemessage.gif "WFSHReceiveMessage")
40+
![Decision tree used by the WFS Host when it receives a message and CanCreateInstance is false.](./media/workflow-service-host-internals/workflow-service-host-receive-message.gif)
4041

4142
The message arrives and is processed by the WCF channel stack. Throttles are checked and correlation queries are executed. The message is bound for an existing instance (because CanCreateInstance is false) so the instance is loaded from persistence store, the bookmark is resumed and the workflow executes.
4243

0 commit comments

Comments
 (0)