Skip to content

Large Payload Samples (dotnet)#137

Open
YunchuWang wants to merge 3 commits intoAzure-Samples:mainfrom
YunchuWang:wangbill/lpsamples
Open

Large Payload Samples (dotnet)#137
YunchuWang wants to merge 3 commits intoAzure-Samples:mainfrom
YunchuWang:wangbill/lpsamples

Conversation

@YunchuWang
Copy link
Contributor

@YunchuWang YunchuWang commented Feb 18, 2026

Purpose

  • Add Large Payload samples for .NET Durable Functions with Durable Task Scheduler
  • Demonstrate how to use the large payload storage feature to handle payloads that exceed the Durable Task Scheduler's message size limit
  • When enabled, payloads larger than the configured threshold are automatically offloaded to Azure Blob Storage (compressed via gzip), keeping orchestration history lean while supporting arbitrarily large data
  • Both samples use a fan-out/fan-in pattern: the orchestrator fans out to multiple activity functions, each generating a configurable-size large payload, then aggregates the results

Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type

What kind of change does this Pull Request introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

  • Get the code
git clone https://github.com/Azure-Samples/Durable-Task-Scheduler.git
cd Durable-Task-Scheduler
git checkout wangbill/lpsamples
  • Test the .NET sample
cd samples/durable-functions/dotnet/LargePayload
dotnet build
# Configure local.settings.json with Durable Task Scheduler connection info
func start
# Trigger the orchestration via HTTP: POST http://localhost:7071/api/StartLargePayload
  • Test the Python sample
cd samples/durable-functions/python/large-payload
pip install -r requirements.txt
# Configure local.settings.json with Durable Task Scheduler connection info
func start
# Trigger the orchestration via HTTP: POST http://localhost:7071/api/startlargepayload

What to Check

Verify that the following are valid

  • .NET LargePayload sample builds successfully (dotnet build)
  • Both samples include proper README documentation with setup and deployment instructions
  • host.json files are correctly configured with large message settings (compression, blob storage threshold)
  • Fan-out/fan-in orchestration logic is correct in both .NET and Python implementations
  • Payload size and activity count are configurable via environment variables (PAYLOAD_SIZE_KB, ACTIVITY_COUNT)

Other Information

  • New files added:
    • samples/durable-functions/dotnet/LargePayload/ — .NET 8 isolated worker sample (LargePayloadOrchestration.cs, Program.cs, host.json, .csproj, README.md, .gitignore)

Copy link
Contributor

@halspang halspang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The java .class file seems like an accidental inclusion.

@YunchuWang
Copy link
Contributor Author

updated! @halspang i will keep this pr for dotnet sample only, since the large pyayload not in extension bundle yet. will have a separate pr for all non dotnet sdks after next bundle version is released.

@YunchuWang YunchuWang changed the title Large Payload Samples Large Payload Samples (dotnet) Feb 19, 2026
@YunchuWang YunchuWang requested a review from halspang February 19, 2026 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments