gpt4 book ai didi

mysql - Entity Framework 轮询

转载 作者:行者123 更新时间:2023-11-29 10:30:09 25 4
gpt4 key购买 nike

我有一个网站,它使用轮询不断从我使用 .NET 和 Entity Framework 设置的 API 获取信息。我的数据库托管在 AWS Aurora MySQL 中。今天,当我使用 MySql 工作台访问生产数据库时,它说连接数太多。

据我所知:1. Entity Framework 管理连接的打开和关闭2. AWS 根据用户请求自动扩展

为什么我会遇到这个问题?

这是 AWS 问题还是 .NET 应用程序问题?

最佳答案

这里有两点:

第一点:

Entity Framework 确实管理连接,但这仍然取决于您如何使用它。

一般来说,EF 中的数据库上下文是一个 IDisposeable 对象。这意味着,如果您将其放入“using” block 中,它将关闭连接并为您处置该对象。像这样的事情:

using (var db = new DBContext())
{
[...]
}

否则,如果它不在 using block 内,您应该始终记住将其丢弃。我还会明确关闭保险连接。

第 2 点:AWS RDS 不会自动扩展。您可以在创建时选择数据库实例大小,然后可以手动更改实例类型。您甚至可能有某种自动化来在运行时垂直缩放它,但垂直缩放有其自身的局限性:

  1. 如果您的数据库位于单个可用区,则意味着更改数据库实例类型时您将需要一段停机时间,因为数据库实例需要关闭并重新启动。
  2. 如果是多可用区实例,您的现有连接仍然会断开,您的应用需要重新建立连接。

关于mysql - Entity Framework 轮询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47559790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com