From 16343368f6f448a7c5f03131f7b1842d64572e6b Mon Sep 17 00:00:00 2001 From: Shyju Krishnankutty Date: Mon, 23 Feb 2026 11:49:29 -0800 Subject: [PATCH] README cleanup --- .../Durable/Workflow/ConsoleApps/07_SubWorkflows/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dotnet/samples/Durable/Workflow/ConsoleApps/07_SubWorkflows/README.md b/dotnet/samples/Durable/Workflow/ConsoleApps/07_SubWorkflows/README.md index 5b1b31c0ee..921458a39b 100644 --- a/dotnet/samples/Durable/Workflow/ConsoleApps/07_SubWorkflows/README.md +++ b/dotnet/samples/Durable/Workflow/ConsoleApps/07_SubWorkflows/README.md @@ -1,13 +1,13 @@ # Sub-Workflows Sample (Nested Workflows) -This sample demonstrates how to compose complex workflows from simpler, reusable sub-workflows using the Durable Task Framework. Sub-workflows run as separate orchestration instances, providing modular design, independent checkpointing, and hierarchical visualization in the DTS dashboard. +This sample demonstrates how to compose complex workflows from simpler, reusable sub-workflows. Sub-workflows are built using `WorkflowBuilder` and embedded as executors via `BindAsExecutor()`. Unlike the in-process workflow runner, the durable workflow backend persists execution state across process restarts — each sub-workflow runs as a separate orchestration instance on the Durable Task Scheduler, providing independent checkpointing, fault tolerance, and hierarchical visualization in the DTS dashboard. ## Key Concepts Demonstrated - **Sub-workflows**: Using `Workflow.BindAsExecutor()` to embed a workflow as an executor in another workflow - **Multi-level nesting**: Sub-workflows within sub-workflows (Level 2 nesting) - **Automatic discovery**: Registering only the main workflow; sub-workflows are discovered automatically -- **Failure isolation**: Each sub-workflow runs as a separate orchestration instance +- **Failure isolation**: Each sub-workflow runs as a separate orchestration instance on the DTS backend - **Hierarchical visualization**: Parent-child orchestration hierarchy visible in the DTS dashboard - **Event propagation**: Custom workflow events (`FraudRiskAssessedEvent`) bubble up from nested sub-workflows to the streaming client - **Message passing**: Using `Executor` (void return) with `SendMessageAsync` to forward typed messages to connected executors (`SelectCarrier`)