Summary
Requesting design review for the .NET Durable Task middleware proposal and reference implementation.
cc @torosent @jviau @stevendarby @LockTar
Review focus
Please review the proposed v1 shape and call out any blocking concerns around:
- The async middleware pipeline shape for orchestrations and activities.
- Orchestration replay determinism requirements and runtime illegal-await guard expectations.
- The v1 decision that orchestration middleware must call
ext(context) exactly once and cannot short-circuit or replace successful orchestration results.
- Activity middleware short-circuiting through SetResult.
- The type-keyed feature collection for host-specific context such as Azure Functions FunctionContext.
- Migration guidance away from Azure Functions IFunctionBindingsFeature reflection/private protobuf workarounds.
- Cross-SDK portability for JavaScript/TypeScript, Python, Java, and Go.
Current .NET scope
- SDK-level orchestration and activity middleware in Microsoft.DurableTask.Worker.Middleware.
- Standalone Durable Task worker registration through AddDurableTaskWorker() and UseOrchestrationMiddleware / UseActivityMiddleware.
- .NET isolated Durable Functions registration through ConfigureDurableWorker().
- Azure Functions GetFunctionContext() extensions for orchestration and activity middleware contexts.
- Function-syntax and class-based Durable Functions orchestration/activity support.
- Standalone and Durable Functions samples.
Out of scope for v1
- Entity middleware.
- Wire protocol or protobuf changes.
- Orchestration middleware short-circuiting / SetResult.
- Static analyzer work for orchestration middleware determinism.
Summary
Requesting design review for the .NET Durable Task middleware proposal and reference implementation.
cc @torosent @jviau @stevendarby @LockTar
Review focus
Please review the proposed v1 shape and call out any blocking concerns around:
ext(context) exactly once and cannot short-circuit or replace successful orchestration results.
Current .NET scope
Out of scope for v1