SqlClient 中可配置的重试逻辑

适用于: .NET Framework .NET .NET Standard

下载 ADO.NET

与在云中运行的元素进行通信的应用程序必须能够敏感地察觉到此环境中可能会出现的暂时性错误。 这些故障通常可以自行更正。 如果在延迟合适的时间后重新执行触发了错误的操作,该操作可能会成功。

注意

此功能从 Microsoft.Data.SqlClient 版本 3.0.0 预览版 1 开始提供。

重试模式

尝试在发生暂时性错误的情况下完成操作,而不是引发异常,并让用户决定下一步操作,这是一种称为重试模式的智能决策。 有关详细信息,请参阅重试模式

暂时性故障

你可以拥有可靠的基础结构,并使用通过最新技术实现的已知应用程序来减少服务的停机时间。 但是,无法将失败数量减少到零。 暂时性错误是指有时因为已知原因而发生的错误,并且会在短时间后消失。 例如,在服务器端进行负载均衡更改时,可能会暂时导致请求的服务失败或超时。有关详细信息,请参阅暂时性故障

注意事项

尽管使用重试模式极大地提高了应用程序的复原能力,但如果在错误的情况下使用,它可能会对应用程序造成负面影响。 在将例外情况添加到暂时性故障列表之前,请暂停片刻,并询问自己“它是否会尽快自行解决问题?”。 不要着急。 如果你不能很好地回答这个问题,请调查原因。 有关详细信息,请参阅排查 Azure SQL 数据库和 Azure SQL 托管实例的连接问题和其他错误

在本节中

SqlClient 中可配置的重试逻辑简介
介绍了可配置的重试逻辑的不同部分。

SqlClient 中的内部重试逻辑提供程序
演示如何使用预定义的重试提供程序对数据库应用重试逻辑。

SqlClient 中可配置的重试逻辑核心 API
演示如何使用核心 API 来实现自定义重试逻辑。

SqlClient 提供的可配置重试逻辑配置文件
演示如何通过配置文件指定默认重试逻辑提供程序。

另请参阅