You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> This design document outlines the architecture and behavior of the new orchestration feature within the application. It defines the core concepts, execution model, control flow capabilities, triggers, reliability mechanisms, observability features, identity management, versioning considerations, testing strategies, and typical use cases for orchestrations.
8
8
@@ -12,6 +12,10 @@ The orchestration feature provides a code-first framework for defining, executin
12
12
13
13
Orchestrations are persistent, stateful, and designed to support complex coordination scenarios, including human interaction, event-driven transitions, and fault-tolerant execution.
14
14
15
+
The orchestration model is state-machine-oriented. States represent stable phases of a long-running process, while activities perform work within a state. Transitions move an orchestration instance between states based on outcomes, conditions, signals, or time-based triggers.
16
+
17
+
The feature intentionally combines state-machine semantics with selected workflow capabilities such as activity execution, waiting, retries, human interaction, and compensation.
18
+
15
19
Disclaimer: this feature is not a full blown workflow engine or a business process modeling tool. It is a code-centric framework for structuring long-running processes in a maintainable and testable way. Please evaluate carefully if this feature is a good fit for your specific use case, as it can be opinionated in its execution model and may not be suitable for all scenarios. Alternatives: Elsa, Camunda, Dapr Workflows, MassTransit Courier, Temporal, Durable Functions, etc.
16
20
17
21
---
@@ -527,7 +531,7 @@ public sealed class OrderApprovalOrchestration
527
531
builder
528
532
.State("Created", state=>state// sequential activities example
529
533
.Activity<ValidateOrderActivity>() // custom activity example
530
-
.Activity<DetermineApprovalRequirementActivity>()
534
+
.Activity<DetermineApprovalRequirementActivity>()// custom activity that sets RequiresApproval in context
0 commit comments