Ich hoste einen WCF-Dienst, der den mysql-Connector verwendet. Aus irgendeinem Grund erhalte ich alle 5-10 Minuten eine Fehlermeldung, dass mysql bereits in Gebrauch ist. Was sollte ich tun? Richten Sie es so ein, dass es blockiert, lassen Sie es eine neue Verbindung pro Thread erstellen oder richten Sie einen Manager ein, der eine bestimmte Anzahl von Verbindungen erstellt und blockiert, bis eine Verbindung verfügbar wird. Eigentlich tun die asynchronen Aufrufe bereits den letzten Teil? Wie kann man am besten blockieren, bis ein anderer Thread abgeschlossen ist, und Informationen von diesem Thread erhalten?
public static int Query(this IDbConnection olddb, string query, params object[] args)
{
using (var db = olddb.CloneEx())
{
db.Open();
using (var com = db.CreateCommand())
{
com.CommandText = query;
for (int i = 0; i < args.Length; i++)
com.AddParameter("@" + i, args[i]);
return com.ExecuteNonQuery();
}
}
}
Unhandled Exception: System.NotImplementedException: The requested feature is not implemented.
at MySql.Data.MySqlClient.MySqlConnection.EnlistTransaction (System.Transactions.Transaction transaction) \[0x00000\] in :0
at MySql.Data.MySqlClient.MySqlConnection.Open () \[0x00000\] in :0