当前位置:   article > 正文

使用 EF Core 的 EnableRetryOnFailure 解决短暂的数据库连接失败问题

enableretryonfailure

阿里云服务器有时会出现短暂的连接不上数据库服务器(RDS)的问题,之前由于没有启用 Entity Framework Core 的失败重试功能(默认是禁用的),短暂的连接失败立马会引发下面的异常从而出现500错误。

System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 40 - Could not open a connection to SQL Server)

为了解决这个问题,在 Startup 中添加如下的代码启用 RetryOnFailure 。

services.AddDbContext<CnblogsDbContext>(options =>
{
    options.UseSqlServer(Configuration.GetConnectionString("cnblogs"),
        builder =>
        {
            builder.EnableRetryOnFailure(
                maxRetryCount: 5,
                maxRetryDelay: TimeSpan.FromSeconds(30),
                errorNumbersToAdd: null);
 
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/891850
推荐阅读
相关标签
  

闽ICP备14008679号