C# 以可持续的方式使用azure处理瞬时故障

C# 以可持续的方式使用azure处理瞬时故障,c#,entity-framework,azure,azure-sql-database,azure-sdk-.net,C#,Entity Framework,Azure,Azure Sql Database,Azure Sdk .net,Azure文档缺乏,而且文章经常过时 我已经了解到,Azure服务(ServiceBus、FileStorage…)的“瞬态故障处理”(TFH)现在已经完全得到管理。现在似乎没有什么东西可以在客户端实现。在过去,我们可以使用企业库来管理这些目的,但它已经退役了。为了访问SQL数据库,为Entity Framework()实现了一个策略 以下是我的问题: 是否有必要在ServiceBus和FileStorage上使用Azure SDK以从Azure上现在实施的策略中获益 当使用非EF的内容访问数

Azure文档缺乏,而且文章经常过时

我已经了解到,Azure服务(ServiceBus、FileStorage…)的“瞬态故障处理”(TFH)现在已经完全得到管理。现在似乎没有什么东西可以在客户端实现。在过去,我们可以使用企业库来管理这些目的,但它已经退役了。为了访问SQL数据库,为Entity Framework()实现了一个策略

以下是我的问题:

  • 是否有必要在ServiceBus和FileStorage上使用Azure SDK以从Azure上现在实施的策略中获益
  • 当使用非EF的内容访问数据时,如何管理TFH
我们需要确保我们的组件(使用WebClient、原始ADO.NET…)能够以可维护的方式正确运行

我读过Azure服务的“瞬时故障处理”(TFH) (ServiceBus、文件存储…)现在已完全管理。现在好像在那里 在客户端没有什么可实现的

这是不对的。服务本身不会处理暂时性错误。处理暂时性错误是客户的责任。如果查看存储客户机库(>=版本2.0),您将在其中找到重试策略,您可以使用这些策略指示客户机代码处理暂时性错误

现在来回答你的问题:

是否需要在ServiceBus和文件存储上使用Azure SDK来 从现在在Azure上实施的策略中获益

当然,没有必要使用SDK来处理暂时性错误,但它们会使您的工作更轻松。SDK提供了多种方法来处理暂时性错误(此外,您还可以扩展SDK中的可用功能,以提供自己的暂时性处理策略)。为了详细说明,让我们考虑存储客户端库,它是Azure存储REST API上的包装器。现在,这个库已经定义了哪些错误应该被认为是暂时的(HTTP状态代码500+),哪些错误不应该被认为是暂时的(HTTP状态代码400-499)。此外,它还提供了不同类型的重试逻辑-指数(默认)、线性或无。作为一名开发人员,您可以决定在出现暂时性错误时应该使用什么重试逻辑,并将其嵌入到代码中。如果您没有使用这些SDK,那么一切都需要由您来完成,从哪些错误应该被认为是暂时的开始,以及如何实现重试。SDK只会让你的工作更轻松

在使用某些东西访问数据时,如何管理TFH 那不是EF吗


如果使用ADO.Net时出现异常,可以查看服务返回的
ErrorCode
,确定错误是否是暂时的。有关SQL错误代码的列表,请参阅以下链接:。我还强烈建议您阅读本文以及如何实现自己的TFH:。

我已经阅读了Azure服务(ServiceBus、FileStorage…)的“瞬时故障处理”(TFH)现在已经完全得到管理。现在似乎没有什么东西可以在客户端实现。
-你能分享一下你读到这篇文章的链接或来源吗?我得到了一些关于你评论的答案。:-)以下是链接:
Azure存储客户端库版本2包含Azure存储服务的重试策略,建议您优先使用这些内置策略,而不是临时故障处理应用程序块。
因此,我假设Azure存储客户端库版本2嵌入内置策略,现在是访问Azure服务的推荐方式吗?非常感谢,反应非常好。