gpt4 book ai didi

c# - Azure WebJobs 异步函数中的事务支持

转载 作者:行者123 更新时间:2023-11-30 12:58:24 25 4
gpt4 key购买 nike

.NET Framework 4.5.1 在异步方法中引入了事务支持,例如:

using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
{
var result = await DoWorkAsync(cancellationToken)
.ConfigureAwait(false);

await DoMoreWorkAsync(result, cancellationToken)
.ConfigureAwait(false);

scope.Complete(); // commit to perform all operations above
}

引用号:https://msdn.microsoft.com/en-us/library/dn261473(v=vs.110).aspx

这也可以在 Azure WebJobs 异步函数中使用,以收紧工作单元并在主机关闭时提供更好的幂等操作吗?如果是的话,会对性能有什么影响吗?

更新:

看起来服务总线队列(标准层)支持事务(单级),但存储队列不支持。引用:“基础功能”部分,地址:https://msdn.microsoft.com/en-us/library/azure/hh767287.aspx

最佳答案

无论谁调用您的代码,数据库访问的工作方式都是相同的。无论是 ASP.NET、WCF 还是某些 Azure 框架。

您确实可以使用事务来使您正在执行的工作原子化。这基本上是一件好事。例如,您可以自动检查给定队列消息或任何内容是否已被处理。如果你只是退出,那么你就是幂等的。

性能影响不受 WebJobs 的影响。除非您使用要避免的分布式事务,否则事务非常便宜。

关于c# - Azure WebJobs 异步函数中的事务支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29959066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com