.NET
-
C# async/await — ConfigureAwait, SynchronizationContext, ContinueWith
WPF 앱에서 Task.ContinueWith + Unwrap()으로 짜여있던 비동기 커맨드 체인을 async/await로 리팩터링하다가, Application.Current.Dispatcher.Invoke를 왜 지워도 되는지, ConfigureAwait(false)가 정확히 어디까지 영향을 주는지 헷갈려서 정리한 내용이다. 나중에 다시 헷갈릴 때 이 글부터 다시 읽는다. 1. ContinueWith + Unwrap이 필요했던 이유 아래처럼 커맨드 하나가 여러 비동기 작업을 순서대로 거치는 코드가 있었다. 장비 상태를 확인하고, 통과하면 다음 상태를 확인하고, 그것도… Continue reading
