百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
D

durabletask

> 编程语言
开源

Durable Task Framework 允许用户使用 async/await 功能在 C# 中编写长时间持久的工作流程。

1.7K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

Durable Task Framework 允许用户使用 async/await 功能在 C# 中编写长时间持久的工作流程。

Durable Task Framework

[!IMPORTANT] 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:

  • Durable Functions - for serverless orchestration on Azure Functions
  • Durable Task SDKs with the Durable Task Scheduler backend - for self-hosted orchestration on any compute platform (Azure Container Apps, AKS, VMs, etc.)

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 docs folder.

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

For more information see the Code of Conduct FAQ or contact [email protected] 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 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 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 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 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 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 This is an in-memory store intended for testing purposes only. It is not designed or recommended for any production workloads. Not actively maintained

[!NOTE] 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.

Learning more

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

  • The following blog series contains useful information: https://abhikmitra.github.io/blog/durable-task/
  • Several useful samples are available here: https://github.com/kaushiksk/durabletask-samples
  • You can watch a video with some of the original maintainers in Building Workflows with the Durable Task Framework.
  • In some cases, the Azure Durable Functions documentation can actually be useful in learning things about the underlying framework, although not everything will apply.

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.

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C#

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言