Microsoft.Azure.DurableTask.Core 3.0.0

Prefix Reserved
dotnet add package Microsoft.Azure.DurableTask.Core --version 3.0.0                
NuGet\Install-Package Microsoft.Azure.DurableTask.Core -Version 3.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Microsoft.Azure.DurableTask.Core" Version="3.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Microsoft.Azure.DurableTask.Core --version 3.0.0                
#r "nuget: Microsoft.Azure.DurableTask.Core, 3.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Microsoft.Azure.DurableTask.Core as a Cake Addin
#addin nuget:?package=Microsoft.Azure.DurableTask.Core&version=3.0.0

// Install Microsoft.Azure.DurableTask.Core as a Cake Tool
#tool nuget:?package=Microsoft.Azure.DurableTask.Core&version=3.0.0                

Durable Task 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 is used heavily within various teams at Microsoft to reliably orchestrate long running provisioning, monitoring, and management operations. The orchestrations scale out linearly by simply adding more worker machines. This framework is also used to power the serverless Durable Functions extension of Azure Functions.

By open sourcing this project we hope to give the community a very cost-effective alternative to heavy duty workflow systems. We also hope to build an ecosystem of providers and activities around this simple yet incredibly powerful framework.

This project has adopted the Microsoft Open Source Code of Conduct.

For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Supported persistance stores

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 is the only backend 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. 👉 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. 👉 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 core programming model for the Durable Task Framework is contained in the DurableTask.Core package, which is also under active development.

Learning more

There are several places where you can learn more about this framework. Note that some are external and not owned by Microsoft:

Development Notes

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 Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (25)

Showing the top 5 NuGet packages that depend on Microsoft.Azure.DurableTask.Core:

Package Downloads
Microsoft.Azure.DurableTask.AzureStorage

Azure Storage provider extension for the Durable Task Framework.

Microsoft.Azure.WebJobs.Extensions.DurableTask

Azure WebJobs SDK Extension for the Durable Task Framework

Microsoft.Azure.DurableTask.ApplicationInsights

This package provides a C# based durable task framework for writing long running applications.

Microsoft.DurableTask.Abstractions

Abstractions for the Durable Task Framework.

Microsoft.DurableTask.SqlServer

Microsoft SQL service provider for the Durable Task Framework.

GitHub repositories (4)

Showing the top 4 popular GitHub repositories that depend on Microsoft.Azure.DurableTask.Core:

Repository Stars
Azure/azure-functions-durable-extension
Durable Task Framework extension for Azure Functions
microsoft/durabletask-netherite
A new engine for Durable Functions. https://microsoft.github.io/durabletask-netherite
microsoft/durabletask-dotnet
Out-of-process .NET SDK for the Durable Task Framework
MerrionComputing/EventsSourcing-on-Azure-Functions
A library to demonstrate doing Event Sourcing as a data persistence mechanism for Azure Functions
Version Downloads Last updated
3.0.0 23,472 7/24/2024
2.17.1 805,195 5/29/2024
2.17.0 172,517 5/14/2024
2.16.2 491,956 3/28/2024
2.16.1 734,516 1/25/2024
2.16.0 865,932 11/13/2023
2.16.0-preview.2 19,140 10/20/2023
2.15.1 407,868 10/17/2023
2.14.0 440,109 8/29/2023
2.13.0 2,126,858 4/19/2023
2.12.2 325,966 3/27/2023
2.12.1 1,812,474 11/22/2022
2.12.0 47,772 10/28/2022
2.11.1 2,099,970 9/15/2022
2.11.0 282,490 8/25/2022
2.10.0 1,319,448 6/1/2022
2.9.1 4,571 5/25/2022
2.9.0 662,727 4/21/2022
2.8.0 137,656 4/13/2022
2.7.0 1,132,489 2/1/2022
2.6.0 1,454,164 10/26/2021
2.5.6 1,043,439 7/22/2021
2.5.5 16,044 6/11/2021
2.5.4 1,161,559 4/29/2021
2.5.2 778,113 3/18/2021
2.5.1 868,961 1/25/2021
2.5.0 526,473 11/20/2020
2.4.1 1,266,343 8/25/2020
2.4.0 9,769 8/18/2020
2.3.0 84,226 6/6/2020
2.2.5 714,644 5/28/2020
2.2.4 522,424 4/10/2020
2.2.3 190,884 3/18/2020
2.2.1 1,117,907 1/7/2020
2.2.0 128,277 12/20/2019
2.1.3 422,328 9/11/2019
2.1.2 1,376,852 5/29/2019
2.1.1 178,595 4/28/2019
2.1.0 363,265 3/14/2019
2.0.11 514,595 11/21/2018
2.0.10 112,840 11/13/2018
2.0.9 4,004 10/6/2018
2.0.8 224,755 8/29/2018