我在 .net core 3.1 中有一个应用程序,我正在使用 MySql。要连接到 MySql,我正在使用 Pomelo.EntityFrameworkCore.MySql nuget。
我的 .net 核心应用程序部署为 AWS ECS 上的 docker 容器,我使用 Aurora MySql RDS 存储数据。我已授予对 Aurora MySql 的“可公开访问”访问权限,我可以使用 MySql 工作台连接到数据库,也可以使用 localhost 连接到我的 .net 核心应用程序。但是当我部署应用程序并尝试执行任何数据库操作时,它开始抛出异常:
引发了一个异常,可能是由于暂时性故障。考虑通过将“EnableRetryOnFailure()”添加到“UseMySql”调用来启用瞬时错误恢复能力。
然后我添加了这样的重试模式:
services.AddDbContextPool<DataContext>(options =>
options.UseMySql(Configuration.GetConnectionString("DefaultConnection"), builder =>
{
builder.EnableRetryOnFailure(5, TimeSpan.FromSeconds(5), null);
}
);
我的连接字符串是这样的:
"DefaultConnection": "Server=db-cluster-1-instance-1.cqb2fsjwx78p.us-east-2.rds.amazonaws.com;Database=dbName;User ID=admin;Password=password;port=3306"
添加重试模式后。我收到此错误:
“使用 'MySqlRetryingExecutionStrategy' 执行数据库操作时超出最大重试次数 (5)。请参阅内部异常以了解最近的失败。”
所以我怀疑,这是另一回事。我在这里做错了什么?或者在aws方面可能有问题