Microsoft.Azure.DurableTask.Core 3.0.0

前缀预留
dotnet add package Microsoft.Azure.DurableTask.Core --version 3.0.0                
NuGet\Install-Package Microsoft.Azure.DurableTask.Core -Version 3.0.0                
该命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Microsoft.Azure.DurableTask.Core" Version="3.0.0" />                
对于支持 PackageReference 的项目,请将此 XML 节复制到项目文件中以引用该包。
paket add Microsoft.Azure.DurableTask.Core --version 3.0.0                
#r "nuget: Microsoft.Azure.DurableTask.Core, 3.0.0"                
#r 指令可以在 F# Interactive 和 Polyglot Notebooks 中使用。请将此内容复制到交互工具或脚本的源代码中,以引用该包。
// 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                

持久性任务框架

持久性任务框架 (DTFx) 是一个库,使开发人员能够使用简单的 async/await 编码结构在 C# 中编写持续运行的长流程(称为 编排)。它在微软的各个团队中被广泛使用来可靠地编排持续运行的基础设施、监控和管理操作。通过简单地向更多的工作机器添加,编排可以线性扩展。该框架还用于为 Azure Functions 的无服务器 Durable Functions 扩展 提供动力。

通过开源此项目,我们希望给社区提供一个成本效益极高的替代方案,来处理重型工作流程系统。我们还希望围绕这个简单而极其强大的框架构建一个提供者和活动的生态系统。

本工程采纳了微软开源行为准则

更多信息请参阅行为准则常见问题或通过[email protected]联系,以提出更多问题或意见。

支持的持久存储

从v2.x版本开始,Durable Task框架支持一个可扩展的后端持久存储集合。每个存储库都可以通过不同的NuGet包启用。所有包的最新版本都已签名,可在nuget.org下载。

最新版本 详情 开发状态
DurableTask.ServiceBus NuGet 在Service Bus队列中存储编排消息和运行时状态,状态跟踪存储在Azure存储中。该提供者的优势在于其成熟度和事务一致性。然而,它已不再是微软的活跃开发项目。 生产就绪但未积极维护
DurableTask.AzureStorage NuGet 所有编排状态均存储在Azure存储队列、表和Blob中。该提供者的优势是最小化的服务依赖、高效率和丰富的功能集。这是Durable Functions唯一的后端。 生产就绪且积极维护
DurableTask.AzureServiceFabric NuGet 所有编排状态均存储在Azure Service Fabric Reliable Collections中。如果您将应用程序托管在Azure Service Fabric中且不想承担外部依赖来存储状态,这是一个理想的选择。 生产就绪且积极维护
DurableTask.Netherite NuGet 由微软研究院开发的一个超高性能的后端,其中状态存储在Azure Event Hubs和Azure Page Blobs中,使用微软研究院的FASTER数据库技术。👉 GitHub仓库 生产就绪且积极维护
DurableTask.SqlServer NuGet 所有编排状态存储在配置了索引表和存储过程的Microsoft SQL Server或Azure SQL数据库中,以便直接交互。👉 GitHub仓库 生产就绪且积极维护
DurableTask.Emulator NuGet 这是一个仅用于测试的内存存储。它不是为任何生产工作负载设计和推荐的。 未积极维护

Durable Task框架的核心编程模型包含在DurableTask.Core包中,该包也在积极开发中。

了解更多

您可以在几个地方了解更多关于此框架的信息。请注意,其中一些是外部资源,不由微软拥有

开发说明

要运行单元测试,您必须指定用于测试的 Service Bus 连接字符串。您可以在测试项目中的 ServiceBusConnectionString app.config 值中这么做,或者通过定义 DurableTaskTestServiceBusConnectionString 环境变量来实现。环境变量的好处是不需要临时更改源代码。

单元测试还需要 Azure 存储模拟器,请确保已安装并正在运行。

注意:虽然可以在测试中实际使用 Azure 存储账户,但并不推荐这么做,因为很多测试会因 409 冲突错误而失败。这是因为测试会删除和快速重新创建相同的存储表,且 Azure 存储在这些条件下表现不佳。如果您确实想更改 Azure 存储连接字符串,可以在测试项目中通过 StorageConnectionString app.config 值,或通过定义 DurableTaskTestStorageConnectionString 环境变量来实现。

产品 兼容的和额外的计算目标框架版本。
.NET net5.0 已计算。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。
.NET Core netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。
.NET 标准库 netstandard2.0 兼容。 netstandard2.1 已计算。
.NET 框架 net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。
MonoAndroid monoandroid 已计算。
MonoMac monomac 已计算。
MonoTouch monotouch 已计算。
Tizen tizen40 已计算。 tizen60 已计算。
Xamarin.iOS xamarinios 已计算。
Xamarin.Mac xamarinmac 已计算。
Xamarin.TVOS xamarintvos 已计算。
Xamarin.WatchOS xamarinwatchos 已计算。
兼容的目标框架
包含的目标框架(在包中)
了解有关 目标框架.NET 标准库 的更多信息。

NuGet 包 (25)

显示对 Microsoft.Azure.DurableTask.Core 依赖的 Top 5 NuGet 包

下载
Microsoft.Azure.DurableTask.AzureStorage

适用于Durable Task Framework的Azure存储提供程序扩展。

Microsoft.Azure.WebJobs.Extensions.DurableTask

Azure WebJobs SDK为Durable Task Framework扩展。

Microsoft.Azure.DurableTask.ApplicationInsights

该包提供了一个基于C#的持久性任务框架,用于编写长时间运行的应用程序。

Microsoft.DurableTask.Abstractions

Durable Task Framework的抽象。

Microsoft.DurableTask.SqlServer

Durable Task Framework的Microsoft SQL服务提供程序。

GitHub仓库 (4)

显示依赖于Microsoft.Azure.DurableTask.Core的前4个最热门的GitHub仓库

仓库 星星
Azure/azure-functions-durable-extension
Azure Functions的持久性任务框架扩展
microsoft/durabletask-netherite
Durable Functions的新引擎。https://microsoft.github.io/durabletask-netherite
microsoft/durabletask-dotnet
适用于Durable Task Framework的进程外.NET SDK
MerrionComputing/EventsSourcing-on-Azure-Functions
一个库,演示将事件来源作为Azure Functions的数据持久机制
版本 下载 最后更新
3.0.0 1,587 7/24/2024
2.17.1 278,302 5/29/2024
2.17.0 112,597 5/14/2024
2.16.2 377,409 3/28/2024
2.16.1 596,505 1/25/2024
2.16.0 783,356 11/13/2023
2.16.0-preview.2 16,577 10/20/2023
2.15.1 357,813 10/17/2023
2.14.0 392,699 8/29/2023
2.13.0 2,001,628 4/19/2023
2.12.2 305,629 3/27/2023
2.12.1 1,692,729 11/22/2022
2.12.0 44,547 10/28/2022
2.11.1 2,017,488 9/15/2022
2.11.0 276,167 8/25/2022
2.10.0 1,277,875 6/1/2022
2.9.1 4,419 5/25/2022
2.9.0 638,644 4/21/2022
2.8.0 128,881 4/13/2022
2.7.0 1,102,538 2/1/2022
2.6.0 1,381,151 10/26/2021
2.5.6 1,017,174 7/22/2021
2.5.5 15,882 6/11/2021
2.5.4 1,130,601 4/29/2021
2.5.2 768,343 3/18/2021
2.5.1 853,120 1/25/2021
2.5.0 520,541 11/20/2020
2.4.1 1,261,012 8/25/2020
2.4.0 9,616 8/18/2020
2.3.0 82,348 6/6/2020
2.2.5 711,211 5/28/2020
2.2.4 514,449 4/10/2020
2.2.3 190,094 3/18/2020
2.2.1 1,110,029 1/7/2020
2.2.0 127,592 12/20/2019
2.1.3 415,145 9/11/2019
2.1.2 1,370,904 5/29/2019
2.1.1 177,134 4/28/2019
2.1.0 359,557 3/14/2019
2.0.11 512,708 11/21/2018
2.0.10 112,775 11/13/2018
2.0.9 3,941 10/6/2018
2.0.8 223,200 8/29/2018