Ich habe einen Code, der mit ServiceStack ORMServicestack ORM db.Close() beendet nicht den Verbindungsprozess
einfache MySQL-Datenbank-Verbindung zeigtvar dbFactory = new OrmLiteConnectionFactory(DB_CONNECTION_STRING, MySqlDialect.Provider);
var db = dbFactory.Open();
Console.WriteLine(db.State.ToString());
db.Close();
db.Dispose();
Ergebnis
Open
Allerdings, wenn ich die SQL-Hit Befehl
show full processlist;
Id User Host db Command Time State Info Rows_sent Rows_examined
81107052 user1 <111.21.96.32>:51120 my_db Sleep 7 NULL 0 0
81107178 user1 localhost my_db Query 0 init show full processlist 0 0
81107179 user1 localhost my_db Sleep 0 NULL 0 0
Dieser Prozess mit dem ID 81107052
ist der Prozess whic h hat mit der Codeausführung begonnen, wird jedoch in den Ruhezustand versetzt und nicht von db.Close() beendet; Dies löst <max_connections_reached>
Fehler bei der parallelen Anwendung verwenden.
So, wie schließe ich den Verbindungsprozess?
kein Glück erforderlich ist, immer noch das gleiche Problem bestehen bleiben! – dexterslab
@dexterslab Vielleicht ist es woanders in Ihrem Code, wo Sie die Db-Verbindung nicht ordnungsgemäß entsorgen, auch können Sie Db-Verbindungen nicht mit anderen Threads teilen, muss jeder Thread ihre eigenen Verbindungen auflösen und beseitigen. – mythz
'@mythz hinzufügen 'Pooling = false' zu Verbindungszeichenfolge löst das Problem wie in http://stackoverflow.com/questions/5567097/using-mysqlconnection-in-c-sharp-does-not-close-properly beschrieben – dexterslab