我的C#应用程序出错了。我不确定这是我的程序还是我的网站。这是一个游戏模拟器,它说运行“太多连接”1-2小时后。它也在我的网站上说。
此代码出错的行在下面,它会在崩溃时出现错误并突出显示单词connection.Open();
。我认为这与不关闭连接有关。
// C#编码(在VB中)
private static SqlDatabaseClient CreateClient(int Id)
{
MySqlConnection connection = new MySqlConnection(GenerateConnectionString());
connection.Open();
return new SqlDatabaseClient(Id, connection);
}
//应用程序错误
[04:51] Exception - Session -> To many connection[]MySqlData.MySqlClient.MySqlPacket ReadPacket<> @ at MysqlData.MySqlClient.MySqlStream.Readpacket<>
at MySql.Data.MySqlClient.NativeDriver.Open<>
at MySql.Data.MySqlClient.Driver.Open<>
at MySql.Data.MySqlClient.Driver.Create
at MySql.Data.MySqlClient.MySqlPool.GtPooledConnection<>
at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver<>
at MySql.Data.MySqlClient.MySqlPool.GetConnection<>
at MySql.Data.MySqlClient.MySqlConnection.Open<>
at Reality.Storage.SqlDatabaeManager.CreateClient in C:\iRP\SqlDatabaseClient.cs:line 24d
答案 0 :(得分:0)
将访问数据库的代码置于using子句中是一种好习惯。通过这样做,您将确保在不再使用连接时将其丢弃。
答案 1 :(得分:0)
C# Too many connections in MySQL
看看那个链接。您需要使用'using'语句,以便正确打开和关闭连接。