Azure Durable Functions Examples in C# — Function Chaining with the .NET 8 Isolated Worker
Two runnable Azure Durable Functions v4 demos that demonstrate stateful, chained orchestration pipelines using the isolated worker model on .NET 8. Each demo starts an orchestration from an HTTP trigger, calls one or more activity functions in sequence (the function chaining pattern), and waits for the result before responding.
Projects
| Project | Port | Pipeline |
|---|---|---|
| DemoOne | 7239 | HTTP → Orchestrator → 1 activity (greeting) |
| DemoTwo | 7176 | HTTP → Orchestrator → 3 activities (validate → process → greet) |
What Are Durable Functions?
Azure Durable Functions is an extension of Azure Functions that lets you write stateful workflows in a serverless environment. Orchestrator functions define the workflow logic and call activity functions, while the Durable Task Framework manages state, retries, and checkpointing automatically.
Requirements
- .NET 8 SDK
- Azure Functions Core Tools v4
- Azurite (local storage emulator) or an Azure Storage account
Shared NuGet Packages
Both projects use the same package versions:
| Package | Version |
|---|---|
Microsoft.Azure.Functions.Worker |
2.0.0 |
Microsoft.Azure.Functions.Worker.Extensions.DurableTask |
1.2.3 |
Microsoft.Azure.Functions.Worker.Extensions.Http |
3.3.0 |
Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore |
2.0.1 |
Microsoft.Azure.Functions.Worker.Sdk |
2.0.2 |
Minimum local.settings.json
Each project requires its own local.settings.json (not committed to source control):
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated"
}
}
Quick Start
# Run DemoOne
cd DemoOne
func start --port 7239
# Run DemoTwo (in a separate terminal)
cd DemoTwo
func start --port 7176
See each project’s own readme — DemoOne and DemoTwo — for detailed usage and endpoint examples.
Known issue in DemoTwo: its HTTP starter currently returns
400 Bad Requestfor every request, including valid names. See DemoTwo’s known issue for the cause and a fix.
Related Examples
- Azure Functions middleware (.NET 6 and .NET 8)
- Keyed dependency injection in Azure Functions
- MediatR and CQRS in Azure Functions
- Back to all C# and .NET code examples
Documentation links
Read all C# and .NET Code Examples guides online · Project overview · All developer projects