當掛我有凍結當我開始以下任務的界面WPF應用程序(C#6.0,.NET 6.1,Visual Studio的2015年,64):接口使用長時間運行的任務
private async void ComputeButton_Click(object sender, RoutedEventArgs e) {
await Scanner();
DrawButtons();
}
private static async Task Scanner() {
try {
BigBox.DoScan();
await Task.CompletedTask;
} catch (Exception ex) {
SMErrorLog.WriteLog("Scanner error: ", ex);
}
}
我的應用程序由幾個選項卡組成。上面的代碼位於其中一個選項卡中。如果我點擊「計算」按鈕,計算會繼續進行(幾分鐘),但在計算過程中,我無法選擇任何其他選項卡來執行其他操作。我假設上面的代碼是異步的,我不明白爲什麼應用程序在DoScan運行時凍結。
任何幫助或建議將不勝感激。
查爾斯
BigBox.DoScan是做什麼的?什麼是'Task.CompletedTask'? –
BigBox.DoScan是掃描SQL Server 2016數據庫的庫例程。它看起來大約有2000張桌子尋找不尋常的圖案。 – CBrauer
Task.CompletedTask位於Microsoft任務庫中。 – CBrauer