![]() |
VOOZH | about |
dotnet add package Microsoft.Azure.DurableTask.AzureStorage --version 2.9.0
NuGet\Install-Package Microsoft.Azure.DurableTask.AzureStorage -Version 2.9.0
<PackageReference Include="Microsoft.Azure.DurableTask.AzureStorage" Version="2.9.0" />
<PackageVersion Include="Microsoft.Azure.DurableTask.AzureStorage" Version="2.9.0" />Directory.Packages.props
<PackageReference Include="Microsoft.Azure.DurableTask.AzureStorage" />Project file
paket add Microsoft.Azure.DurableTask.AzureStorage --version 2.9.0
#r "nuget: Microsoft.Azure.DurableTask.AzureStorage, 2.9.0"
#:package Microsoft.Azure.DurableTask.AzureStorage@2.9.0
#addin nuget:?package=Microsoft.Azure.DurableTask.AzureStorage&version=2.9.0Install as a Cake Addin
#tool nuget:?package=Microsoft.Azure.DurableTask.AzureStorage&version=2.9.0Install as a Cake Tool
The Durable Task Framework (DTFx) is a community-maintained open-source project. It is actively used in production by many teams, including engineering teams within Microsoft. However, it does not come with official Microsoft support — meaning you cannot open a Microsoft support ticket for DTFx issues. Bugs and feature requests are addressed on a best-effort basis.
If you are starting a new project or need official Microsoft support, we recommend:
These alternatives offer full Microsoft support, including the ability to open support tickets. For more details, see Choosing an orchestration framework.
The Durable Task Framework (DTFx) is a library that allows users to write long-running persistent workflows (referred to as orchestrations) in C# using simple async/await coding constructs. It provides similar orchestration primitives to the modern Durable Task SDKs. While DTFx continues to be maintained and used in production, the newer Durable Task SDKs offer additional features, active development, and official Microsoft support. DTFx also requires you to manage hosting and operational infrastructure yourself.
📖 Documentation: Documentation for this repository is available in the folder.
This project has adopted the Microsoft Open Source Code of Conduct.
For more information see the Code of Conduct FAQ or contact with any additional questions or comments.
Starting in v2.x, the Durable Task Framework supports an extensible set of backend persistence stores. Each store can be enabled using a different NuGet package. The latest version of all packages are signed and available for download at nuget.org.
| Package | Latest Version | Details | Development Status |
|---|---|---|---|
| DurableTask.ServiceBus | 👁 NuGet |
Orchestration message and runtime state is stored in Service Bus queues while tracking state is stored in Azure Storage. The strength of this provider is its maturity and transactional consistency. However, it is no longer in active development at Microsoft. | Production ready but not actively maintained |
| DurableTask.AzureStorage | 👁 NuGet |
All orchestration state is stored in Azure Storage queues, tables, and blobs. The strength of this provider is the minimal service dependencies, high efficiency, and rich feature-set. This backend is available for Durable Functions. | Production ready and actively maintained |
| DurableTask.AzureServiceFabric | 👁 NuGet |
All orchestration state is stored in Azure Service Fabric Reliable Collections. This is an ideal choice if you are hosting your application in Azure Service Fabric and don't want to take on external dependencies for storing state. | Production ready and actively maintained |
| DurableTask.Netherite | 👁 NuGet |
An ultra-high performance backend developed by Microsoft Research where state is stored in Azure Event Hubs and Azure Page Blobs using FASTER database technology from Microsoft Research. This backend is available for Durable Functions. 👉 GitHub Repo | Production ready and actively maintained |
| DurableTask.SqlServer | 👁 NuGet |
All orchestration state is stored in a Microsoft SQL Server or Azure SQL database with indexed tables and stored procedures for direct interaction. This backend is available for Durable Functions. 👉 GitHub Repo | Production ready and actively maintained |
| DurableTask.Emulator | 👁 NuGet |
This is an in-memory store intended for testing purposes only. It is not designed or recommended for any production workloads. | Not actively maintained |
The DurableTask.Emulator listed above is a legacy in-memory backend for DTFx and is not the same as the Durable Task Scheduler emulator, which is a supported local development emulator for the Durable Task Scheduler backend.
The core programming model for the Durable Task Framework is contained in the DurableTask.Core package.
There are several places where you can learn more about this framework. Note that some are external and not owned by Microsoft:
To run unit tests, you must specify your Service Bus connection string for the tests to use. You can do this via the ServiceBusConnectionString app.config value in the test project, or by defining a DurableTaskTestServiceBusConnectionString environment variable. The benefit of the environment variable is that no temporary source changes are required.
Unit tests also require Azure Storage Emulator, so make sure it's installed and running.
Note: While it's possible to use in tests a real Azure Storage account it is not recommended to do so because many tests will fail with a 409 Conflict error. This is because tests delete and quickly recreate the same storage tables, and Azure Storage doesn't do well in these conditions. If you really want to change Azure Storage connection string you can do so via the StorageConnectionString app.config value in the test project, or by defining a DurableTaskTestStorageConnectionString environment variable.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 net5.0 was computed. net5.0-windows net5.0-windows was computed. net6.0 net6.0 was computed. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 was computed. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 netcoreapp2.0 was computed. netcoreapp2.1 netcoreapp2.1 was computed. netcoreapp2.2 netcoreapp2.2 was computed. netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 netstandard2.0 is compatible. netstandard2.1 netstandard2.1 was computed. |
| .NET Framework | net461 net461 was computed. net462 net462 was computed. net463 net463 was computed. net47 net47 was computed. net471 net471 was computed. net472 net472 was computed. net48 net48 was computed. net481 net481 was computed. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen40 tizen40 was computed. tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
Showing the top 5 NuGet packages that depend on Microsoft.Azure.DurableTask.AzureStorage:
| Package | Downloads |
|---|---|
|
Microsoft.Azure.WebJobs.Extensions.DurableTask
Azure WebJobs SDK Extension for the Durable Task Framework |
|
|
LLL.DurableTask.AzureStorage
Extends Durable Task Azure Storage |
|
|
NeuroSpeech.Workflows
Package Description |
|
|
DurableTask.Client.AzureStorage
Package Description |
|
|
ZettaVision.DurableTask
Forked version of Microsoft.Azure.WebJobs.Extensions.DurableTask should simular to version 2.5 when it is released. |
Showing the top 1 popular GitHub repositories that depend on Microsoft.Azure.DurableTask.AzureStorage:
| Repository | Stars |
|---|---|
|
Azure/azure-functions-durable-extension
Durable Task Framework extension for Azure Functions
|
| Version | Downloads | Last Updated |
|---|---|---|
| 2.9.0 | 221,331 | 4/28/2026 |
| 2.8.3 | 254,474 | 3/20/2026 |
| 2.8.2 | 67,486 | 3/12/2026 |
| 2.8.1 | 478,181 | 1/16/2026 |
| 2.8.0 | 185,727 | 1/5/2026 |
| 2.7.1 | 117,820 | 12/16/2025 |
| 2.7.0 | 548,451 | 11/3/2025 |
| 2.6.1 | 228,078 | 10/20/2025 |
| 2.6.0 | 22,425 | 10/6/2025 |
| 2.5.0 | 498,680 | 9/17/2025 |
| 2.4.0 | 492,763 | 8/8/2025 |
| 2.3.0 | 617,745 | 6/26/2025 |
| 2.2.0 | 305,859 | 6/4/2025 |
| 2.1.0 | 722,674 | 4/11/2025 |
| 2.0.1 | 2,609,789 | 10/16/2024 |
| 2.0.0 | 30,687 | 7/24/2024 |
| 2.0.0-rc.3 | 1,560 | 6/14/2024 |
| 2.0.0-rc.2 | 42,623 | 6/4/2024 |
| 1.17.5 | 1,799,041 | 9/16/2024 |
| 1.17.4 | 1,191,723 | 7/22/2024 |