ロード中にウィンドウをつかんで移動すると、フリーズするコードがいくつかあります。私は問題が何であるか分からないが、async/awaitを使って作業していて、ロジックに問題があるかどうか疑問に思っているので、コードを投稿すると思った。私はこれが問題を引き起こしているとは言いません、私はちょうど検索し、UIのフリーズアップと非同期/待機が頻繁に来る他の問題を見てきました。どんな助けもありがとう。async/aswaitでフリーズするUI
private async void BuildChart()
{
DateTime date = DateTime.Today;
using (Database db = new Database())
{
await BuildActual(date, db);
await BuildActual(date.AddDays(1),db);
}
}
private async Task BuildActual(DateTime date, Database db)
{
List<TimeSeries> actualValues = await Task<List<TimeSeries>>.Factory.StartNew(() =>
{
try
{
var wind = DoStuff(date, db);
if (wind == null) return null;
if (wind.Count == 0) return null;
return MakeTimeSeries(wind);
}
catch
{
return null;
}
});
try
{
if (actualValues == null) return;
DoMoreStuff(actualValues);
}
catch (Exception ex)
{
Logger.Log(ex);
}
}
ありがとうございます。
深いスターターガイド/リンクをありがとう。私は実際問題がコードと無関係であることを知ったが、記事は関係なく役立った。 – Kohins