Microsoft Azure:如何在没有企业应用程序块的情况下实现ASP.NET瞬态故障处理

时间:2015-06-04 16:52:22

标签: c# asp.net azure azure-sql-database

当我们第一次迁移到Azure时,通过企业应用程序块5.0进行的瞬态故障处理是城里最好的游戏。我们使用它在获取Azure SQL连接,访问ASP.NET会话对象和访问ASP.NET应用程序对象时自动执行重试。为此,我们分别使用以下类:

  • 来自Application Block的ReliableSqlConnection
  • 我们自己的ReliableApplication类,通过在访问Application对象时应用Application Block缓存RetryPolicy来扩展Microsoft.ApplicationServer.Caching.DataCache
  • 我们自己的ReliableSession类,通过在访问Session对象时应用Application Block缓存RetryPolicy来扩展HttpContext.Current.Session。

现在根据Microsoft's Transient Fault Handling Patterns and Practices截至2014年3月:

  

Azure存储和Azure Service Bus的最新版本的SDK本身支持重试。建议使用这些而不是瞬态故障处理应用程序块

我们应该使用哪些Azure SDK类来替换已弃用的企业应用程序块暂态故障处理的依赖项?

2 个答案:

答案 0 :(得分:3)

请按照以下博客文章实现重试逻辑(这些是ADO.NET示例,但您可以使用您选择的语言复制逻辑) https://msdn.microsoft.com/library/azure/ee336243.aspx

https://msdn.microsoft.com/en-us/library/azure/dn961167.aspx

第一个是使用企业库实现重试逻辑,第二个是显示如何使用自定义代码实现重试逻辑。

回答你的问题:

我们应该使用哪些Azure SDK类来替换已弃用的企业应用程序块暂态故障处理的依赖关系? 您必须使用重试逻辑来提高连接弹性。遗憾的是,目前没有Azure SDK可用于实现重试逻辑以连接到Azure SQL DB。

如果这是有道理的,请告诉我。


最佳,
认识Bhagdev
微软项目经理

答案 1 :(得分:1)

此站点包含每个服务的本机客户端支持的示例

https://github.com/mspnp/azure-guidance/blob/master/Retry-Service-Specific.md

相关问题