Cela se produit parce que le Async
méthodes dans MySql.Data
connecteur ne sont pas réellement asynchrones. Ils bloquent les E/S réseau et ne reviennent que lorsque l'opération DB est terminée. (Pour une description beaucoup plus détaillée, voir cette question et sa meilleure réponse
.) Bogue MySQL #70111
signale ce problème dans le connecteur MySQL.
Pour obtenir des opérations de base de données véritablement asynchrones, vous devrez attendre que ce bogue soit corrigé ou passer à un autre connecteur.
J'ai développé un nouveau connecteur entièrement asynchrone (MySqlConnector sur NuGet
; source sur GitHub
). Il prend en charge MySqlDataAdapter
depuis version 0.33.0
.