Ich habe eine WPF-Anwendung, wo ich einige Datenbankvorgänge ausführen, wenn ein Benutzer auf eine Schaltfläche klickt. Der Knopfklick ist an einen Befehl gebunden, der den RelayCommand von GalaSoft MVVM Light verwendet.ADO.NET-Blockierung trotz asynchroner Aufrufe
MySQL gibt mir Timeouts wegen der großen Datenmenge, aber das eigentliche Problem ist ein anderes. Ich mache alles asynchron, und dennoch blockiert die Anwendung bis zum Ablauf der Zeitüberschreitung.
Ich erwarte, dass immer die Benutzeroberfläche ansprechbar bleiben, während ein asynchroner Vorgang ausgeführt wird. Zum Beispiel, wenn ich eine GET-Anfrage mit HttpClient
mache, egal wie lange es dauert, um mit einer Antwort zurückzukommen, kann ich immer noch die Benutzeroberfläche verwenden.
Ich verwende den Pomelo-Datenprovider für MySQL (Pomelo.Data.MySql).
Wie ich mich erinnere, macht sogar "offizielle" mysql-Provider das. Sie können dies versuchen: https://www.nuget.org/packages/MySqlConnector/ – Evk