- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果 max_user_connections 连接已打开,是否有方法告诉 Entity Framework 等待?
我想我可以捕获异常并重试或保留一个计数器,但这最多感觉很糟糕。
我的 Azure 日志中充满了以下消息:
System.Data.Entity.Core.EntityException: The underlying provider failed on Open.
MySql.Data.MySqlClient.MySqlException:
Authentication to host 'xxx' for user 'yyy' using method 'mysql_native_password' failed with message:
User 'yyy' has exceeded the 'max_user_connections' resource (current value: 4)
我尝试将 Max Pool Size=4
添加到连接字符串,但这没有帮助。
<add name="DbContext" connectionString="Database=db;Data Source=xxx;User Id=yyy;Password=zzz;CharSet=utf8;Persist Security Info=True;Convert Zero Datetime=True;Max Pool Size=4" providerName="MySql.Data.MySqlClient" />
最佳答案
根据 Vito 的建议:捕获异常并让前端决定要做什么:
在后端,我使用了 PostSharp , Aspect-Oriented programming 的实现对于.NET。它允许我用一个属性来装饰我的所有存储库来处理这个特定的异常。
在前端,我可能会做一些类似等待 400 毫秒并在放弃之前重试 1-3 次的事情。
在包管理器控制台中:安装包PostSharp
您还需要安装PostSharp plugin for Visual Studio
[Serializable]
public class MaxMysqlConnectionExceptionHandlerAspect : OnExceptionAspect
{
public override void OnException(MethodExecutionArgs args)
{
if (args.Exception.InnerException != null && args.Exception.InnerException.Message.Contains("Too many connections"))
{
args.FlowBehavior = FlowBehavior.ThrowException;
args.Exception = new Exception("MAX_CONNECTIONS");
}
}
public override Type GetExceptionType(MethodBase method)
{
return typeof(EntityException);
}
}
然后装饰类或方法:
[MaxMysqlConnectionExceptionHandlerAspect]
public class FancyPantsService {}
关于c# - 让 EntityFramework 尊重 mysql max_user_connections,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36701895/
我的数据库出现问题,我将 max_user_connections 设置为 800,但问题仍然存在,“用户 root 已经拥有超过 'max_user_connections' 事件连接” 我想知道是
每隔一两个月就会有一群机器人访问我的网站并以如此快的速度打开连接,以至于达到我当前的 max_user_connection 值 25(将其增加到 75)。目前,我重新启动服务器,它再次正常工作,直到
我们有一个运行良好的 MySQL,每秒约有 1800 个查询。我们的 max_user_connections 目前是 350,我们只有在部署一些实验时才会达到它。 不过,如果我们将其设置为 600
有时我会遇到错误,即已达到 max_user_connections。我的托管公司不想进一步增加它。 如果我创建一个额外的用户,并且 50% 的时间连接到该用户而不是原始用户,那么实际上我的最大用户连
我无法访问我的数据库。我收到以下错误: User 'myuser' has exceeded the 'max_user_connections' resource (current value:
我网站上的某些页面是通过大量 ajax 调用填充的,通常有 20 多个 ajax 调用异步运行。我遇到的问题是每次调用都会创建一个新的 mysql_connection,导致我收到“max_user_
我有一个返回以下错误的项目 User already has more than 'max_user_connections' active connections 我知道这是一个MySQL错误,我可
最近进行一些更改后,站点开始显示 max_user_connections 错误,这可能表明对 MySQL 数据库的并发连接尝试过多。 我注意到最初的程序员实现了一个“DB”类来管理数据库连接,并且似
我有一个 MySQL/PHP 网站。有时,我无法连接,因为 Warning: mysql_connect() [function.mysql-connect]: User foo has alread
所以我的网站目前正在爆炸式增长。在我的 header.php 中(只有登录用户才有)检查是否有 mysql_error。如果找到,它会破坏 session 并输出: 抱歉,出了点问题 [mysql_错
不幸的是,我在 MySQL 中遇到了“max_user_connections”问题。我正在使用共享主机,因此“max_user_connections”值设置为 8,当我使用 WAMP 在我的本地主
我正在通过 laravel 实现一个网站。有一个问题,有时它会显示一些错误 already has more than 'max_user_connections' active connection
我正在使用名为 getfreehosting.co.uk 的免费网络托管服务。 max_user_connections 是 5。每次我的页面加载时,它做的第一件事就是调用一个 load.php 从我
我有 db 几乎所有类都扩展的类: class db { protected $db; public function __construct() { $this->c
我有一个 MySQL、Express、Angular、NodeJS 应用程序,有时当我登录时,我的 Node 控制台出现以下错误: TypeError: Cannot read property 'q
在大学里,我的练习是用 Java 开发多人游戏。客户端之间的通信不应使用套接字等进行处理,而是借助客户端在游戏中添加步骤的 MySQL 数据库。因为是骰子游戏,所以不需要很多查询。 (每个游戏 ses
我有一个托管在 Hostinger 网络主机上的 Bootstrap 系统。 我登录的程序是高级帐户。 今天我们尝试并行使用 20 个用户,突然间,所有用户都收到错误消息: User 'u526475
我正在使用下面的数据源配置设置,但一段时间后,我收到“用户'用户名'已超出'max_user_connections'资源(当前值:10)”。 maxIdle 连接设置为 1 但我们仍然收到此错误。有
我有一个适用于 Android、Windows Phone 和 iOS 应用程序的 PHP REST API。 API 的响应始终是 JSON。我们使用 DataBase 类来管理 PDO 连接和 C
这是mysql错误:连接失败:用户“db2498”已超过“max_user_connections”资源(当前值:200)。 我设置了my.cnf: [mysqld] max_connections
我是一名优秀的程序员,十分优秀!