Code: Select all
private async void Button_Click(object sender, EventArgs e)
{
var result = DoWork(); // supposed to be async
MessageBox.Show("Done!");
}
private async Task DoWork()
{
// Simulate long work
Thread.Sleep(5000);
return "Finished!";
}
Ich habe erwartet, dass die Benutzeroberfläche reagiert bleibt, aber stattdessen sperrt das Fenster 5 Sekunden lang zusammen. ConfigureAwait (false) oder etwas anderes? Ich erwartete, dass die Benutzeroberfläche während der Ausführung der Aufgabe reaktionsschnell bleibt, und dann "Fertig!" Sobald sie abgeschlossen ist. Ich habe auch versucht, auf vor Dowork () hinzuzufügen, aber es blockierte die UI.
macht den Code automatisch nicht blockiert, daher bin ich mir nicht sicher, was ich hier falsch mache.