私はaspnetcore webserviceを使用しています。私は違う時に例外を得る。エラーメッセージは次のとおりです。複数のリクエストを互いに実行しているときにMySql例外が発生する
012)[]オブジェクトMySql.Data.MySqlClient.MySqlException:接続エラー:タイムアウトが切れています。プールから接続を取得する前にタイムアウト期間が経過しています。これは、プールされたすべての接続が使用中で、プールの最大サイズに達したために発生した可能性があります。 MySql.Data.MySqlClient.MySqlConnection.OpenでMySql.Data.MySqlClient.MySqlPool.GetConnectionで
()
()
bdtFood.Controllers.FoodController.Get(のInt32のID、のInt32 idMeetingで)
lambda_method(閉鎖、オブジェクトに、Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__28.MoveNext()で
どうすればこの例外を回避できますか。同時に複数のリクエストがあってはなりません。
EDIT:リクエストのコード。
while (cn.State == System.Data.ConnectionState.Open)
{
}
cn.Close();
cn.Open();
Modells.Room room = new Modells.Room(-2, "dummy");
MySqlCommand myCommand = new MySqlCommand("SELECT * FROM room WHERE idRoom = @idRoom", cn);
myCommand.Parameters.Add("@idRoom", MySqlDbType.Int32, 11).Value = idRoom;
using (reader = myCommand.ExecuteReader())
{
while (reader.Read())
{
room = new Modells.Room(reader.GetInt32(0), reader[1].ToString());
}
}
接続とコマンドを破棄していますか? – mjwills
私はすべてのリクエストに対して新しい接続と新しいコマンドを使用します。これが問題だろうか?私は一度に1つずつ使うので、これは問題ではないと思いました。 – tatatoto
あなたのコードの一部を見ることなく、他のより詳しいアドバイスをすることは不可能です。 – mjwills