Mám WinForms MP3 přehrávač desktop aplikace (.NET Framework 4.7.2), který je pomocí ElementHost hostit MediaElement ovládání a má DispatcherTimer pro ovládání přehrávání (jako je například aktualizace Jezdce).
Všechno funguje v pohodě, ale když jsem se opustit aplikaci, jsem si "System.Threading.Tasks.TaskCanceledException: 'A task was canceled.'"
výjimkou (všiml jsem si, že pouze tehdy, když běží pod ladicí program).
Není to nic, ale na obtíž a je většinou neškodný, ale nemám rád výjimky, které nerozumím. Zásobník není super užitečné:
> 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
Se to děje, protože WPF zásobníku není zlikvidován správně nějak? Zajistit DispatchTimer je zastaven v MainForm_FormClosing ale možná tam je ještě něco, co musím uklidit?
Není zásadní problém, samozřejmě, nepříjemné.