Bir MediaElement denetimini barındırmak için Elementhost'u kullanan ve oynatmayı kontrol etmek için bir dispatchertimer'a sahip olan (Kaydırıcıyı güncellemek gibi) bir WinForms MP3 çalar masaüstü uygulamasına (. NET Framework 4.7.2) sahibim.
Her şey iyi çalışıyor, ancak uygulamadan çıktığımda "System.Threading.Tasks.TaskCanceledException: 'A task was canceled.'"
istisna (Yalnızca hata ayıklayıcının altında çalışırken fark ettim).
Bu bir sıkıntıdan başka bir şey değil ve çoğunlukla zararsız hissediyor, ama anlamadığım istisnaları sevmiyorum. Callstack süper kullanışlı değil:
> mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task task) Unknown
mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task) Unknown
WindowsBase.dll!System.Windows.Threading.DispatcherOperation.Wait(System.TimeSpan timeout) Unknown
WindowsBase.dll!System.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherOperation operation, System.Threading.CancellationToken cancellationToken, System.TimeSpan timeout) Unknown
WindowsBase.dll!System.Windows.Threading.Dispatcher.Invoke(System.Action callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken, System.TimeSpan timeout) Unknown
WindowsBase.dll!MS.Internal.WeakEventTable.OnShutDown() Unknown
WindowsBase.dll!MS.Internal.WeakEventTable.WeakEventTableShutDownListener.OnShutDown(object target, object sender, System.EventArgs e) Unknown
WindowsBase.dll!MS.Internal.ShutDownListener.HandleShutDown(object sender, System.EventArgs e) Unknown
Bu, WPF yığınının bir şekilde düzgün bir şekilde bertaraf edilmemesi nedeniyle mi oluyor? Dispatchtimer'ımın MainForm_FormClosing içinde durdurulduğundan emin oluyorum, ancak belki de temizlemem gereken başka bir şey var mı?
Tabii ki can sıkıcı bir konu değil.